簡體   English   中英

Boost:鏈接由bjam命名的庫時出現致命錯誤LNK1104

[英]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);
}

您已啟用增強自動鏈接。

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

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

您正在使用--layout=system進行構建,而構建結果上沒有標簽。 而且,當您使用標題時,您不會禁用自動鏈接功能(通過定義BOOST_ALL_NO_LIB )。 要么:

  1. 刪除--layout=system選項,或者
  2. 通過定義BOOST_ALL_NO_LIB禁用自動鏈接,然后手動將* .lib文件添加到鏈接中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM