在 Visual C++ 中以发布模式使用 boost 的调试库
我编写了一个 DLL,在其实现中广泛使用了 boost。我有 libboost_thread-vc80-mt-1_40.lib、libboost_thread-vc80-mt-gd-1_40.lib 的 boost 库的发布版和调试版。我正在使用 Visual Studio 构建代码并使用自动链接。 当我在调试版本中构建 DLL 时,它会将自身与 libboost_thread-vc80-mt-gd-1_40.lib 链接,这是预期的,但是当我在发布模式下构建 DLL 时,它仍然尝试将其与 libboost_thread-vc80-mt- 链接gd-1_40.lib 而不是 libboost_thread-vc80-mt-1_40.lib。我在发布模式下构建时使用/MD。 我不确定我在这方面缺少什么,有人可以指出我吗?
I have written a DLL that uses boost extensively in its implementation. I have both release and debug version of boost libraries with me libboost_thread-vc80-mt-1_40.lib, libboost_thread-vc80-mt-gd-1_40.lib. I am using Visual studio to build my code and using auto-linking.
When i build the DLL in debug version it links itself with libboost_thread-vc80-mt-gd-1_40.lib which is expected, but when i am building my DLL in release mode it stills tries to link it with libboost_thread-vc80-mt-gd-1_40.lib instead of libboost_thread-vc80-mt-1_40.lib. I am using /MD while building in release mode.
I am not sure what i am missing in this, can someone please point me that.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否尝试过 /MT 而不是 /MD?
Have you tried /MT instead of /MD?
查看发布配置中是否有带有“debug”一词的预处理器定义,如果存在则必须将其删除。
Look if there is in the release configuration a Preprocessor Definitions with the word debug, this has to be deleted if it exist.