1

我正在尝试将 Mongo DB C++ 驱动程序编译为 32 位库。我怎么不知道用什么开关,我到处找。我在 x64 环境中,所以我必须强制 32 位编译。

我需要 32 位驱动程序的原因是因为我正在编码的应用程序是 32 位的,因此我也必须将 Boost 编译为 32 位。

如果我设法以 32 位编译驱动程序,我还能连接到 64 位 Mongo DB 吗?

我如何将这个东西编译成 32 位?

这是 SCon 日志中的错误:

/usr/bin/ld: skipping incompatible /home/zinglish/Projects/CPP/Grepho/libs/boost_1_54_0/dist/lib/libboost_thread.so when searching for -lboost_thread
/usr/bin/ld: skipping incompatible /home/zinglish/Projects/CPP/Grepho/libs/boost_1_54_0/dist/lib/libboost_thread.a when searching for -lboost_thread

基本上它不会编译,因为它试图编译为 x64 但 boost 库是 x86 ......

4

1 回答 1

1

好吧,我搜索了这个链接:用于链接器和编译器开关定制的SConstruct Documention并想出了一个解决方案。

我将这些添加到EnvironmentSConstruct 文件中变量的末尾:

CPPFLAGS=["-m32"],
LINKFLAGS=["-m32"]

希望这会在未来对其他人有所帮助

于 2013-11-10T17:32:23.743 回答