我尝试编译我的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++
,但现在已经开始使用了。在Python
或PHP
中我会在几秒钟内完成它的工作,但在C++
我必须花费永恒才能理解我所做的一切都是完全错误的。现在,我不确定我在这里做错了什么。
修改
BTW,如果我删除-lmongoclient
并添加例如DSTATIC_LIBMONGOCLIENT
,程序会编译,但是,在这种情况下,当我尝试导入模块时,我得到另一个错误:
>>> undefined symbol: blablabla
当我遇到mysql并且这两个标志-lmysqlclient -lmysqlpp
解决了这个问题时,我遇到了类似的问题。我认为-lmongoclient
应该在这里做,但事实并非如此。