尝试编译程序时找不到-lmongoclient

时间:2015-07-25 19:20:22

标签: c++ mongodb

我尝试编译我的c ++项目,但收到此错误消息:“找不到-lmongoclient”。我这样做是这样的:

$ g++ -std=c++11 -c -fpic -I /usr/include/python2.7 -I /usr/include/mysql -I /usr/include/mysql++ -I mongo-cxx-driver/build/install/include orm.cpp -o corm.o
$ g++ -shared -Wl,-soname,corm.so -o corm.so corm.o -lpython2.7 -lboost_python -lmysqlclient -lmysqlpp -pthread -lmongoclient -lboost_thread -lboost_system -lboost_regex
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib/libmongoclient.a when searching for -lmongoclient
/usr/bin/ld: skipping incompatible /usr/lib/../lib/libmongoclient.a when searching for -lmongoclient
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.9/../../../libmongoclient.a when searching for -lmongoclient
/usr/bin/ld: skipping incompatible /usr/lib/libmongoclient.a when searching for -lmongoclient
/usr/bin/ld: cannot find -lmongoclient
collect2: error: ld returned 1 exit status
Makefile:10: recipe for target 'corm.so' failed
make: *** [corm.so] Error 1

我不确定我还应该指明什么才能让它发挥作用。不幸的是,我已经花了两天多的时间尝试连接到mongodb中的C++,但现在已经开始使用了。在PythonPHP中我会在几秒钟内完成它的工作,但在C++我必须花费永恒才能理解我所做的一切都是完全错误的。现在,我不确定我在这里做错了什么。

修改

BTW,如果我删除-lmongoclient并添加例如DSTATIC_LIBMONGOCLIENT,程序会编译,但是,在这种情况下,当我尝试导入模块时,我得到另一个错误:

>>> undefined symbol: blablabla

当我遇到mysql并且这两个标志-lmysqlclient -lmysqlpp解决了这个问题时,我遇到了类似的问题。我认为-lmongoclient应该在这里做,但事实并非如此。

0 个答案:

没有答案