我试图建立提升和生成DLL的,但我所做的任何事情都没有解决问题。Building Boost动态链接提供链接错误?
这里什么我有:
创建库bin.v2 \库\螺纹\建立\ MSVC-11.0 \ DBG \美国存托凭证MDL-32 \异步excpt上\ THRD-MLT \ boost_thread-vc110-mt-gd-1_53.lib和object bin.v2 \ libs \ thread \ build \ msvc-11.0 \ dbg \ adrs-mdl-32 \ async-excpt-on \ thrd-mlt \ boost_thread-vc110-mt -gd-1_53.exp thread.obj:错误LNK2019:无法解析的外部符号“__declspec(dllimport)public:__thiscall boost :: gregorian :: greg_month :: greg_month(unsigned short)”(_ imp ?? 0greg_month @ gregorian @ 0 @ @ @ QAE @ G @ Z)在函数“public:__thiscall boost :: gregorian :: date :: date(enum boost :: date_time :: special_values)”中引用(?? 0date @ gregorian @ boost @@ QAE @ W4special_values @ date_time @ 2 @@ Z) thread.obj:error LNK2019:无法解析的外部符号“__declspec(dllimport)public:__thiscall boost :: gregorian :: greg_month :: operator unsigned short(void)const”(_ imp ?? Bgreg_month @ gregorian @ boost @@ QBEGXZ)在函数__catch中引用$?make_external_thread_data @?A0x9b8c45f0 @ boost @@ YAXXZ $ 0 bin.v2 \ libs \ thread \ build \ msvc-11.0 \ dbg \ adrs-mdl- 32 \异步-excpt上\ THRD-MLT \ boost_thread-vc110-MT-GD-1_53.dll:致命错误LNK1120:2周解析的外部
这里关于设置的一些信息:
OS: W7 x64
命令来构建:
B2 -j%NUMBER_OF_PROCESSORS%--abbreviate路径工具集= MSVC-11.0定义= _SECURE_SCL = 0定义= _CRT_SECURE_NO_DEPRECATE限定= _CRT_SECURE_NO_WARNINGS --without-MPI地址模型= 32变异=调试安装链接=共享运行时链接=共享线程=多非同步的例外=在异常处理=上的extern-C-抛出异常= OFF前缀= .. \提振 CD ..
我已将CYGWin安装到计算机上。
在这里,我已经尝试到现在;
*我试图建立它在32位命令窗口(我用詹金斯打造提升)
*我在升压配置写的#define BOOST_ALL_DYN_LINK/user.hpp
*我在boost config/user.hpp中写了#define BOOST_ALL_NO_LIB
有没有人遇到过这样的问题?我在任何地方都找不到任何东西?
编辑:
有一个关于我的问题的更新。我能够构建它用于发布。只有我改变的东西在这里:
b2 -j%NUMBER_OF_PROCESSORS%--abbreviate-paths toolset = msvc-11。0 define = _SECURE_SCL = 0 define = _CRT_SECURE_NO_DEPRECATE define = _CRT_SECURE_NO_WARNINGS --without-mpi address-model = 32 variant = release安装链接=共享运行时链接=共享线程=多asynch-exceptions = on exception-handling = on extern -c-nothrow = off --prefix = .. \ boost cd ..
可能是什么问题?我该如何解决它?
先感谢您的任何建议。
您可以BOOST_NO_USER_CONFIG抑制user.hpp:https://groups.google.com/forum/#!topic/boost-list/OSkv0cKjpVM –
@thomas谢谢你的评论。其实我认为我需要#define BOOST_ALL_DYN_LINK定义,所以我将它添加到user.hpp作为我的配置。这样我定义了BOOST_ALL_DYN_LINK,如果你阅读上面的评论,似乎有必要。默认情况下,我认为user.hpp不被抑制,对吧? – MeM
您是否尝试将'#define BOOST_ALL_DYN_LINK'直接放入date_time/compiler_config.hpp?这可能是一个坏主意,但BOOST_DATE_TIME_DECL似乎在那里定义。 –