本文主要是介绍mongodb C++ driver CMakeList配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
mongodb C++ driver CMakeList配置
最近在看Mongodb数据库,终于要用VSCode 替代CodeBlock了,用CMakelist来编译,另一个挑战啊
在官网下载最新的驱动,首先安装了C driver,随后安装C++driver,一开始认为一些配置文件可要可不要,最后还是把官网上面提示的所有配置选项加入,在
默认在/usr/local/lib下生成所有的动态库,在/usr/local/include中为所有的头文件,vi修改文件路径
开始编写CMakeList.txt
aux_source_directory(${PROJECT_SOURCE_DIR} TEST_LIST)#搜集当前文件下的所有源文件,加入变量TEST_LIST中
add_executable(test1 ${TEST_LIST}) #生成可执行文件
target_link_libraries(test1 bsoncxx mongocxx) #将两个静态库加入
set_target_properties(test1 PROPERTIES COMPILE_FLAGS "-std=c++0x")#设置属性
make之后提示:error while loading shared libraries:libbson.so._noabi:cannot open shared object file: No such file or directory,
看了好几遍文件在那里,于是在target_link_libraries添加 libbson.so._noabi,情况并没有得到改观,是不是这种格式CMakelist文件中不识别,所以干脆放入当前工程下,同样的错误。
最后选择编辑配置文件/etc/ld.so.conf ,加入/usr/local/lib
出现了我们期待的结果:
[root@75test build]# ./test1
{
"_id" : {
"$oid" : "5731b0784dbfa8ad01596aa1"
},
"hello" : "world"
}
C++ mongodb driver 学习之路正在开始!
这篇关于mongodb C++ driver CMakeList配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!