1

我正在从rocketmq-cpp 开源github 项目生成rocketmq dll。我使用了以下Prequisite boost 1.56.0,--> 使用这个 jam.exe msvc architecture=x86 address-model=64 link=static runtime-link=static 构建阶段(64位构建)Cmake 3.9.3所以,我已经使用cmake -G“Visual Studio 15 2017”构建rocketmq-cpp它会生成项目但是当我构建项目时它总是显示错误libboost_thread-vc140-mt- s-1_56.lib(thread.obj):致命错误 LNK1112:模块机器类型“x64”与目标机器类型“X86”冲突但是当我将 boost 1.56.0 更改为使用 32 位构建之后,我得到了致命错误错误 LNK1112 libboost_atomic-vc120-mt-1_58 not found 。我无法找到 Visual Studio 是如何搜索 libboost_atomic-vc120-mt-1_58 的,这在 boost 1.56.0/stage/lib.i 中不存在。

4

1 回答 1

0

考虑到您已将 boost 1.56.0 构建为 64 位库,在构建时rocketmq-cpp,您必须确保还使用 Visual Studio 的 64 位生成器。清除现有的构建目录后,尝试使用cmake -G "Visual Studio 15 2017 Win64"(注意Win64前缀)

https://cmake.org/cmake/help/latest/generator/Visual%20Studio%2015%202017.html

于 2018-08-07T21:03:50.393 回答