2015-02-05 54 views
0

名爲lib時,我們使用bjam以下參數提升:致命錯誤LNK1104鏈接一個通過的bjam

bjam --prefix=.\vs2012\x86\static --includedir=.\include --build-dir=.\build\vs2012\x86 --layout=system --build-type=minimal --without-mpi --without-python toolset=msvc-11.0 variant=release threading=multi link=static runtime-link=shared define=_BIND_TO_CURRENT_VCLIBS_VERSION address-model=32 install 

所以LIB名字看起來像libboost_unit_test_framework.lib打造boost庫。但是,在構建項目時,我得到了fatal error LNK1104: cannot open file 'libboost_unit_test_framework-vc110-mt-1_53.lib' 好吧,我幾乎嘗試了鏈接問題LNK1104的所有解決方案,例如建議here,但沒有什麼幫助。你有什麼想法出了什麼問題?這裏我的測試代碼

#define BOOST_TEST_MODULE MyClass test 
#include <boost/test/unit_test.hpp> 
#include "myclass.h" 

BOOST_AUTO_TEST_CASE(Calc_Test) 
{ 
    MyClass* c = new MyClass(); 
    BOOST_CHECK(c); 
} 

回答

0

您正在使用--layout=system,它的構建結果中沒有標籤。而當您使用標題時,您不會禁用自動鏈接功能(通過定義BOOST_ALL_NO_LIB)。或者:

  1. 通過定義BOOST_ALL_NO_LIB刪除--layout=system選項,或
  2. 禁用自動鏈接並手動將* .lib文件添加到您的鏈接。
+0

謝謝你,專門爲1.選項。我要修改構建批處理。 – alex555 2015-02-09 08:16:54

0

您已啓用自動鏈接啓用。

使用以下定義來禁用此選項:BOOST_ALL_NO_LIB

請參閱here有關該主題的更多信息。

相關問題