致命错误LNK1104:无法打开文件'libboost_system-vc90-mt-gd-1_43.lib'

时间:2010-05-22 19:03:06

标签: c++ visual-studio boost

制作了一个新项目,添加了main.cpp并在此URL处编写了代码:

http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/example/echo/async_tcp_echo_server.cpp

此外,添加了适当的包含路径。

下一步是什么?!?!!建立一个提升代码似乎是个神秘的事!

正在挖掘它超过10个小时。

任何人都可以直接回答如何使用windows,VC9下的代码构建boost库吗?

7 个答案:

答案 0 :(得分:18)

你需要使用bjam。它负责创建应用程序将使用的库。一旦使用bjam,您将需要指示您的项目包含lib文件。您可以通过进入项目的属性 - >来完成此操作。配置属性 - >链接器 - >一般。将创建lib文件的目录添加到Additional Library Directories。你应该能够在那之后正确链接。 我相信this link描述了比我在帖子中尝试更好的步骤

答案 1 :(得分:16)

@bogertron:我想拥抱你! (:

所以,最后,真正的头疼,我已经成功了。

我采取的确切步骤,以便其他人将从头痛中保存下来:

  1. 去了http://www.boost.org/doc/libs/1_43_0/more/getting_started/windows.html#or-build-binaries-from-source

  2. 遵循“5.3.1 Get bjam”条款。通过以下网址下载了“适用于您平台的预构建bjam可执行文件”:http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=72941

  3. 提取ZIP文件(我的平台是Windows)。

  4. Ran“build.bat”。它生成了文件“bin.ntx86 / bjam.exe”。

  5. 将此文件复制到我的路径(“..... / boost_1_43_0 /").

  6. 从命令行执行“bjam.exe”并等待约4-5分钟。

  7. 然后在控制台收到此消息:“Boost C ++库已成功构建!”

    就是这样,它甚至会告诉你包括& lib文件是。

答案 2 :(得分:9)

并非所有Boost库都只是标题,Boost.System就是其中之一。 Boost.Asio的documentation告诉您它依赖于Boost.System。

使用Visual Studio,Boost库使用auto-linking,这意味着您无需显式链接到所需的库。但是,您需要在库搜索路径中拥有必要的库,无论是全局还是按项目。

如果您不想自己构建Boost库,可以使用boostpro提供的installers(目前仅限Boost 1.42)。如果你想自己构建它们,那么documentation就能很好地构建它们。

答案 3 :(得分:1)

我遇到了同样的错误,我跟着SourceForge。该链接将带您到压缩文件夹和压缩文件的DLL文件夹。您可以下载并解压缩相关的库,并将其复制到相关位置一切都会好的;)

答案 4 :(得分:0)

在Visual Studio中,右键单击项目,然后转到属性并选择:

  

属性 - >配置属性 - >接头

您可以在名为“Additional Library Directories”的选项卡中添加库的完整路径。

答案 5 :(得分:0)

从“提升入门指南”:

“5.2或者,从源代码简化构建

如果您希望使用Visual C ++从源代码构建,可以使用本节中描述的简单构建过程。打开命令提示符并将当前目录更改为Boost根目录。然后,键入以下命令:

自举 \ B2"

在Windows上,我从开始菜单打开了Visual Studio命令行。首先我键入“bootstrap”,然后输入“。\ b2”。

答案 6 :(得分:-1)

现在使用boost_1.50,可以在zip文件中包含Boost.build:查看tools\build\v2\或更好地阅读:...boost_1_50_0/more/getting_started/windows.html