如何改变那里的CMakeLists.txt查找Boost库的Ubuntu

如何改变那里的CMakeLists.txt查找Boost库的Ubuntu,第1张

OpenCV2.2以后版本需要使用Cmake生成makefile文件,因此需要先安装cmake。ubuntu下安装cmake比较简单,apt-getinstallcmakeapt-getinstalllibgtk2.0-dev(下面两步安装编译必须的库)apt-getinstallpkg-config然后你们下载openc-2.4.3然后解压然后cmake-gui进入了ui配置界面在路劲那里配置好你的opencv位置和安装路径然后点configure然后选中unixmakefiles然后选usexxxxxxcompilter这跟命令行配置cmake-DCMAKE_BUILD_TYPE=RELEASECMAKE_INSTALL_PREFIX=/home/OpenCV是一样的之后就是安装了make然后makeinstall然后是配置变量sudogedit/etc/ld.so.conf.d/opencv.conf最后一行增添/usr/local/lib然后是跟改变量sudogedit/etc/bash.bashrc也是在最后一行添加PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfigexportPKG_CONFIG_PATH

CMakeLists.txt 决定了 CLion 对项目的所有配置,一定要修改它。 为了便于跨平台(甚至只是跨机器),不建议指定具体的库目录,而是使用 find_package 让 CMake 去寻找这个库。当然 find_package 没有带对应的 .cmake 模块的时候,可以用 pkg_config 代替。 对于 boost,只要使用 find_package 即可。如: set(Boost_USE_STATIC_LIBS ON) find_package(Boost 1.57.0 COMPONENTS log thread system regex REQUIRED) 就是指定了使用静态链接的 boost,并尝试寻找 boost 的 log, thread, system, regex 这些库。 然后再使用 target_link_libraries(MyTarget ${Boost_LIBRARIES}) 就可以指定让 MyTarget 这个目标链接到找到的库。

在ROS程序中我们可以使用dynamic_reconfigure这个包实现动态调参,无需重新编译程序。

planeSeg.cfg内容如下:

修改cfg权限

在CMakeLists文件中添加:

添加头文件:

修改主函数:

使用 boost::bind 给回调函数传递动态参数

boost::bind(f,x,y) = f(x,y)

_1,_2表示占位符

修改CMakelists文件:

修改package.xml文件:

编译

运行程序


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11380631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存