编译提升C++库 1.54 时出错

Error compiling boost C++ libraries 1.54

本文关键字:出错 C++ 编译      更新时间:2023-10-16

我对提升很陌生。我需要获取一个文件的库文件,该文件用于为我制作的应用程序(以便我可以自己重新编译应用程序)。

我能够制作提升库文件,但其中一些文件有错误并且没有被制作。

这是从命令提示符复制的错误(请注意,我为使文件所做的一切都运行".\b2 link=shared")

创建库 bin.v2\libs\thread\build\msvc-11.0\release\threading-multi\boost_thread-VC110-mt-1_54.lib 和对象 bin.v2\libs\thread\build\msvc-11.0\release\threading-multi\boost_thread-VC110-mt-1_54.expthread.obj : 错误 LNK2019: 未解析的外部符号 "__declspec(dllimport) public: __thiscall boost::gregorian::greg_month::greg_month(unsigned short)" (_imp??0greg_month@gregorian@boost@@QAE@G@Z)在函数"公共:__thisCall boost::gregorian::d ate::d ate(enum boost::d ate_time::special_values)" (??0date@gregorian@boost@@QAE@W4special_values@date_time@2@@Z)bin.v2\libs\thread\build\msvc-11.0\release\threading-multi\boost_thread-vc110-mt-1_54.dll:致命错误LNK1120:1 个未解析的外部

任何帮助将不胜感激。 谢谢

对于 32 位提升,请启动 32 位命令提示符。(在 64 位 Windows 上,您可以在 C:\Windows\SysWOW64\cmd.exe 中找到它)。然后从 Boost 根目录运行"bootstrap.bat"。这将创建一个适当的 b2.exe。然后运行

b2 link=shared address-model=32

您的命令像以前一样。(虽然我注意到你标记了 boost-thread;要只构建线程库,请将--with-thread附加到命令中)。

对于 64 位提升(在 64 位

操作系统上),请启动 64 位命令提示符 (C:\Windows\System32\cmd.exe)。是的,我知道这看起来很奇怪,但是,相信我。再次运行"boostrap.bat",然后

b2 link=shared address-model=64