在 Win x64 应用程序中C++加速库

Including boost libraries in C++ Win x64 application

本文关键字:C++ 加速 应用程序 Win x64      更新时间:2023-10-16

我有一个C++控制台应用程序,我使用Microsoft SDK编译器成功地为Windows x86平台编译了该应用程序。现在,我想为 x64 系统编译相同的源代码。我正在使用提升库(文件系统、程序选项和其他一些方法)。我已经为 x64 系统重新编译了提升库(使用"bjam --toolset=msvc-9.0 地址模型=64 --build-type=完整阶段")。现在,当我尝试编译源文件时,它抱怨 boost 库。

之前我包含"libboost_filesystem-vc120-mt-1_55.lib"并成功编译。现在我包含"boost_filesystem-vc90-mt-1_55.lib",但链接器抱怨:

链接:致命错误LNK1104:无法打开文件 'libboost_filesystem-VC120-mt-1_55.lib'

我不知道为什么它仍然要求"libboost_filesystem-vc120-mt-1_55.lib"库。

提前感谢,

塞尔哈特

出于二进制兼容性原因,您无法链接编译的 boost 与您使用的编译器不同的编译器。在本例中,您将 vc120 用于主编译器,但使用 vc90 编译 boost。这两个工具集不会(故意)生成二进制兼容的结果。

在这种情况下,您需要在 IDE 附带的 vs2012 x64 本机命令提示符中编译 boost。这将生成您需要的库。