无法构建 32 位 Mongo DB C++驱动程序

Cannot build 32bit Mongo DB C++ Driver

本文关键字:DB C++ 驱动程序 Mongo 构建      更新时间:2023-10-16

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

我需要 32 位

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

如果我设法以 32 位编译驱动程序,我是否仍然能够连接到 64 位 Mongo 数据库???

如何将这个东西编译为 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,但提升库是 x86...

好的,

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

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

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

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