编译boost C ++库1.54时出错

时间:2013-09-11 06:48:00

标签: c++ boost boost-thread

我很擅长提升。 我需要获取为我创建的应用程序中使用的一个文件的库文件(所以我可以自己重新编译应用程序)。

我能够制作升级库文件,但是有些文件有错误而且没有制作。

以下是从命令提示符复制的错误(请注意我为使文件运行所做的一切“。\ b2 link = shared”)

创建库bin.v2 \ libs \ thread \ build \ msvc-11.0 \ release \ threading-multi \ b oost_thread-vc110-mt-1_54.lib和object bin.v2 \ libs \ thread \ build \ msvc-11.0 \ rele ASE \线程的多\ boost_thread-vc110-MT-1_54.exp thread.obj:错误LNK2019:未解析的外部符号“__declspec(dllimport)pu blic:__ thishisall boost :: gregorian :: greg_month :: greg_month(unsigned short)“(_ im p ?? 0greg_month @ gregorian @ boost @@ QAE @ G @ Z)函数“public:__ this 调用boost :: gregorian :: date :: date(enum boost :: date_time :: special_values)“(?? 0da TE @阳历@ @@升压QAE @ W4special_values @ DATE_TIME @ @@ 2 Z) bin.v2 \库\螺纹\建立\ MSVC-11.0 \发布\线程的多\ boost_thread-vc110-MT -1_54.dll:致命错误LNK1120:1个未解析的外部

非常感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:2)

对于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