我有兩個預編譯的庫: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