2012-01-02 88 views
3

我正在使用Eclipse CDT的託管make功能。使用僅動態庫創建項目正在按預期工作。但boost_unit_test_framework應靜態鏈接,因爲它包含主函數。在命令行中,鏈接到混合中的動態庫和靜態庫不是問題。因此,這是一個工作示例:Eclipse使用靜態和動態鏈接庫同時生成

g++ -L../Debug -L../boost/lib -o "Test" ./Test.o -ldynLib -Wl,-Bstatic -lboost_unit_test_framework -Wl,-Bdynamic 

的dynlib和標準庫類似的libc動態鏈接和boost_unit_test_framework靜態鏈接。但是我怎樣才能在項目的設置中輸入這些信息呢?我看不到任何方式。

可能可以在每個項目中爲靜態鏈接標記此庫,例如在全球範圍內。有QNX使用的慣例([manual])。可以使用LIBPREF_library和LIBPOST_library在指定庫之前或之後添加選項。

更新: 我還沒有線索如何解決所描述的問題。但在此期間,我已將我的構建系統從Managed Make轉換爲CMake。 ,另外我現在使用Qt Creator的,因爲它是能夠索引升壓和同時更新一些內部結構不凍結UI ...

[手動] http://www.qnx.com/developers/docs/6.3.0SP3/neutrino/prog/make_convent.html#USEMAC

回答

1

我不認爲你需要指定鏈接的類型。動態庫不能靜態鏈接,反之亦然。在我的其中一個項目中,在Project Properties - > C/C++ Build - > Settings下,我有兩個靜態庫和一個動態庫。它似乎弄清楚它們是什麼類型,並且以任何方式鏈接。

+0

的問題是,所提到的庫boost_unit_test_framework可作爲動態**和**靜態庫。除了boost_unit_test_framework之外,我想動態鏈接。我找不到明確設置單個庫的鏈接的方法(在託管make C++項目中)。 – Christian 2012-04-02 15:51:17

2

Dynalic庫進去:鏈接器/庫/庫(-l) 靜態庫進去:鏈接器/ miscelanous /其他文件和對象

+0

謝謝你的回答。但是這個提示如何幫助我解決問題?你能提供更多的信息嗎? TIA – Christian 2014-02-04 12:15:55