[英]Boost: fatal error LNK1104 when linking a lib named by bjam
我們使用bjam
通過以下參數構建boost
庫
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
。 但是,在構建項目時,我遇到fatal error LNK1104: cannot open file 'libboost_unit_test_framework-vc110-mt-1_53.lib'
好吧,我嘗試了有關鏈接問題LNK1104的幾乎所有解決方案,例如, 此處建議,但無濟於事。 您有什么想法要怎么解決嗎? 這是我的測試代碼
#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);
}
您正在使用--layout=system
進行構建,而構建結果上沒有標簽。 而且,當您使用標題時,您不會禁用自動鏈接功能(通過定義BOOST_ALL_NO_LIB
)。 要么:
--layout=system
選項,或者 BOOST_ALL_NO_LIB
禁用自動鏈接,然后手動將* .lib文件添加到鏈接中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.