2017-10-28 52 views
1

私はvcpkgを使ってBoostをインストールしました。今私はBoost:プロセスで "Hello World"を試しています。私はブーストのコメントを外しますが、私はまだそれがコンパイルされますが、2つのリンクエラーboost :: process throws LNK2019:未解決の外部シンボル

"__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) 
をスロー

std::system("echo Hello"); 

を呼び出すすなわち、それを使用しない場合、私はすべてが今

#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"); 
} 

正常に動作しますコメントアウトブーストを開始したと

追加のライブラリ依存関係を追加しようとしました

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 

のいずれもエラーを解決しません。 誰かが正しいリンクライブラリを見つける場所を知っていますか?

私が実際に でブーストを呼び出すと、int result = bp :: system( "echo Hello"); 9つの未解決の外部があります。

私が見る限り、これはVCPKGのインストーラの問題です。

+0

vcpkgで問題が発生する可能性が高いようです。潜在的なC:¥vcpkg-master¥packages¥boost_x86-windows¥lib¥manual-linkフォルダがありますが、どちらも役に立ちません。 – DLyons

答えて

0

私は手動でそれをやった、私は

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

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

にこのディレクトリを追加し、この行を追加しました〜stdafx.h

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

これを試しても動作していないようですが、根本的な原因はVCのインストールそのものだと思います。いくつかの異なるパラメータを使用して以前のバージョンをアンインストールして再インストールしたところ、現在動作しています。返信いただきありがとうございます。 – DLyons

関連する問題