我有两个预编译的库:X.a
和Y.a
和test.cpp(没有主函数)源代码使用这两个库。链接GCC中的.a和.o文件
我编写的C++使用:
g++ -c test.cpp
,我得到了 'test.o'。
现在如何将这三者连接在一起生成.a
文件,因为test.cpp在X.a和Y.a以及其他GCC库中使用了一些函数?
顺便说一句,我正在使用MinGW在Windows下进行这些操作。我可以将这个.a文件重命名为.lib并在VC中使用.lib吗?
谢谢!
我有两个预编译的库:X.a
和Y.a
和test.cpp(没有主函数)源代码使用这两个库。链接GCC中的.a和.o文件
我编写的C++使用:
g++ -c test.cpp
,我得到了 'test.o'。
现在如何将这三者连接在一起生成.a
文件,因为test.cpp在X.a和Y.a以及其他GCC库中使用了一些函数?
顺便说一句,我正在使用MinGW在Windows下进行这些操作。我可以将这个.a文件重命名为.lib并在VC中使用.lib吗?
谢谢!
现在,我怎么连接这三个 起来产生某文件,因为 TEST.CPP使用X.a和 Y.a和其他海湾合作委员会图书馆的一些功能?
.a
无非是那么ar
归档方含所有目标文件(.o
文件)
我可以重命名此某文件到.LIB和 使用本的.lib在VC?
是的,但它需要一点小技巧才能工作。参见: http://opensees.berkeley.edu/community/viewtopic.php?t=2267
为了你的目标文件添加到您必须使用以下命令静态库:
ar rcs X.a test.o
但如果你提供Xa和Ya我想你是不是X和Y的作者,所以我不确定你真的想加入他们!
您可能决定将每个目标文件链接到一个可执行文件中,但您需要使用main
函数!
编辑: 另外我建议你阅读this。
谢谢。问题是我需要使用GCC来获取一个静态库,并使用VC来链接这个静态库,因为我已经在GCC中做了一些fortran的东西.. – 2010-05-29 10:43:54
@David:不幸的是我对VC没有任何了解,但似乎那vartec给了你一些有用的信息。 – Dacav 2010-05-29 11:04:44