您的位置:首页 > 运维架构

Error LNK1104 cannot open file 'libboost_system-vc140-mt-gd-1_58.lib'

2015-11-22 17:25 435 查看
I had a similar problem when trying to use boost unit testing in Visual Studio 2015 (Community Edition):


fatal error LNK1104: libboost_unit_test_framework-vc140-mt-1_57


so I thought I'd share my solution.

You can create a boost unit testing project in of of two ways (and this solution works for both):

using the Boost Unit Test Adapter

or by creating a Win32 Console Application (steps here), and substituting the main function with a boost unit testing function (steps here).

Here are the steps I followed to get both projects to work:

First, download the desired boost version (for example, boost_1_57_0). You can either download boost with the correct binaries (compiled using msvc v140), or extract the binaries yourself by running the following commands from command line:

bootstrap.bat

"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86

bjam --clean

bjam -j4 --debug-symbols=on --build-type=complete toolset=msvc-14.0 threading=multi runtime-link=shared address-model=32

Where msvc-14.0 specifies that we require the Visual Studio 2015 version (VS 2015 = v14.0 = v140), and address-model=32 specifies that we require platform 32 (but the same can be done for 64 bit).

Once you have the binaries, go to Visual Studio, select the Boost Unit Testing project you have created. Go to Project properties > configuration (from the main menu) and make the following choices:

Set the "General > Platform Toolset" to Visual Studio 2015 (v140).

Include the path to the boost folder (e.g. C:\boost_1_57_0) and the path to the subfolder containing the binary files (e.g. C:\boost_1_57_0\stage\lib) in:

"C\C++ > Additional Include Directory"

and "Linker > Additional Library Directories".

参考链接:

http://stackoverflow.com/questions/13042561/fatal-error-lnk1104-cannot-open-file-libboost-system-vc110-mt-gd-1-51-lib
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: