2

我对提升很陌生。我需要为为我制作的应用程序中使用的一个文件获取库文件(这样我就可以自己重新编译应用程序)。

我可以制作 boost 库文件,但是其中一些文件有错误并且无法制作。

这是从命令提示符复制的错误(注意我所做的所有文件都是运行“.\b2 link=shared”)

创建库 bin.v2\libs\thread\build\msvc-11.0\release\threading-multi\b oost_thread-vc110-mt-1_54.lib 和对象 bin.v2\libs\thread\build\msvc-11.0\release \threading-multi\boost_thread-vc110-mt-1_54.exp thread.obj:错误 LNK2019:未解析的外部符号“__declspec(dllimport) public: __thiscall boost::gregorian::greg_month::greg_month(unsigned short)”(_ im p ??0greg_month@gregorian@boost@@QAE@G@Z) 在函数“public: __this call boost::gregorian::date::date(enum boost::date_time::special_values)”中引用 (??0da te@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 个未解决的外部因素

任何帮助是极大的赞赏。谢谢

4

1 回答 1

2

对于 32 位 boost,启动 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
于 2013-09-11T07:06:05.073 回答