不能在 Linux 上使用 mongo-cxx-driver 的静态库
Can't use static lib of mongo-cxx-driver on Linux
所以我按照官方教程安装:https://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/installation/
然而,我不能将生成的库作为静态库使用。
所以我按照描述编译了C版本的驱动程序,在执行make &&之前,我已经用。/configure启用了标志——enable-static=yessudo make install,我得到了libmongoc-1.0。A 和libbson-1.0。是静态的。到目前为止,一切都还好。
然后我做了cxx版本的驱动程序,除了没有配置文件在C版本。我刚刚写了一个
cmake -DCMAKE_BUILD_TYPE=Release -DBSONCXX_POLY_USE_BOOST=1 -DCMAKE_INSTALL_PREFIX=/usr/local
从构建文件夹,后面跟着make &&Sudo make install
所以我得到了libmongocxx。和libbsoncxx。a,但是当我尝试用它们编译时,我无法运行二进制文件,因为我得到了以下错误:加载共享库时出现错误:libmongocxx.so。_noabi:无法打开共享对象文件:No such file or directory
所以我理解这是因为有一些符号缺失,然后我需要使用共享库来运行二进制文件,但我不希望这种情况发生,我想要二进制文件中的符号,我可以在没有任何LD_PRELOAD的情况下运行它。
有什么建议吗
我在Ubuntu 16.04中遇到了同样的问题,我运行了apt-get更新&Apt-get升级,问题解决了。
似乎有一些编译器和一些库的更新阻止了一些测试到达共享库。
我有一个类似的问题,并且解决了,现在我成功地用静态库编译并运行了我的二进制文件。
我使用newlisp编写构建脚本,但静态链接选项非常有用,我将其粘贴在这里。
c++ /to/your/path/site/code/back_end/builder/object/files1.cc.o ... /to/your/path/site/code/back_end/builder/object/files10.cc.o -o bin/site -static-libgcc -static-libstdc++ -L/usr/lib -lpthread -l:libmongocxx.a -l:libbsoncxx.a -l:libmongoc-1.0.a -l:libbson-1.0.a -lrt -lssl -lcrypto -lsasl2 -l:libboost_log.a -l:libboost_log_setup.a -l:libboost_system.a -l:libboost_thread.a -l:libboost_filesystem.a -lcppcms -lbooster -lcurl -ljsoncpp
- xmake总是报告:错误:无法获取cxx的程序,为什么
- 在 Julia 中使用 boost 库和 Windows 上的 Cxx.jl
- Cxx.jl 在 Julia Complex 和 std::complex 之间进行转换
- 仅为C++文件(.h、.cpp、.cxx、.c)生成标记文件
- 在为 iOS 构建 aws-sdk-cpp 时,cmake 上的 CXX 编译器错误已损坏
- 使用 mongo c++ 驱动程序查询嵌套的 BSON 文档
- c++ 链接器错误"针对'.rodata.str1.1'的重新定位R_X86_64_32"链接 CXX 共享库 libsrt.so
- 使用CMake ExternalProject_Add构建mongo cxx驱动程序
- CMake 识别 MSVC(C 和 CXX),但仍抛出"未找到 CMAKE_*_COMPILER"
- Julia Cxx 在模块中打包不同的行为
- 检查工作正常的 CXX 编译器:/cygdrive/c/cygwin64/bin/clang++ -- 已损坏
- C++编译器 g++.exe 无法编译简单的测试程序 - 确定 CXX 编译器是否工作失败
- Mongodb Cxx 驱动程序测试在发布版本中崩溃 [ 在调试中工作正常]
- 使用 CXX 社区插件在 Sonarqube-5.6.6(LTS) 中导入 Gcov 报告
- 如何在mongo db上从gmlib存储mpz_t
- 如何使用 mongo-cxx-driver 的 **insert** 函数将包含静态数据的多维数组插入到数据库中
- 如何使用Mongo-CXX-Driver设置Visual Studio项目设置
- 不能在 Linux 上使用 mongo-cxx-driver 的静态库
- Mongo-cxx-driver库构建,但存在持久链接和调试问题
- 使mongo-cxx-driver无法找到包含