2017-10-28 70 views
1

我已經使用vcpkg安裝了Boost。現在我正在嘗試使用Boost:進程的「Hello World」。假設我開始加速註釋掉一切正常boost :: process throws LNK2019:無法解析的外部符號

#include <iostream> 
//#include <boost/process.hpp> 
//#include <boost/process/windows.hpp> 

//namespace bp = boost::process; 
int main(int argc, char * argv[]) 
{ 
    int result = std::system("echo Hello"); 
} 

現在,如果我去掉升壓,但不使用它,即我還是叫

std::system("echo Hello"); 

它編譯但拋出兩個連接錯誤

"__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::system_category(void)" ([email protected]@[email protected]@[email protected]@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'native_ecat''(void)" ([email protected]@[email protected]@YAXXZ) 
"__declspec(dllimport) class boost::system::error_category const & __cdecl boost::system::generic_category(void)" ([email protected]@[email protected]@[email protected]@XZ) referenced in function "void __cdecl boost::system::`dynamic initializer for 'errno_ecat''(void)" ([email protected]@[email protected]@YAXXZ) 

我試過添加

的附加庫依賴關係
C:\vcpkg-master\installed\x86-windows\lib 
C:\vcpkg-master\packages\boost_x86-windows\debug\bin 
C:\vcpkg-master\packages\boost_x86-windows\debug\lib 
C:\vcpkg-master\packages\boost_x86-windows\lib 
C:\vcpkg-master\packages\boost_x86-windows\bin 

但這些都沒有解決這個錯誤。 有誰知道在哪裏可以找到正確的鏈接librries?

如果我實際調用加強與 INT結果= BP ::系統( 「回聲你好」); 有9個未解決的外部問題。

至於我可以看到,這是一個安裝問題與VCPKG。

+0

這似乎更可能是vcpkg的問題。有一個神祕的C:\ vcpkg-master \ packages \ boost_x86-windows \ lib \ manual-link文件夾,但這似乎也沒有幫助。 – DLyons

回答

0

,我這個目錄添加到

$(SolutionDir)..\vcpkg\installed\x64-windows\lib 

Project -> Properties-> Liker -> Additional Library Directories 

,並加入這一行到stdafx.h中

#pragma comment(lib, "boost_system-vc140-mt-1_65_1.lib") 
+1

我試過了,它似乎沒有工作,但我認爲根本原因是VC安裝本身。我卸載並重新安裝了一些帶有一些不同參數的早期版本,現在它正在運行。謝謝回覆。 – DLyons

相關問題