03_源码编译
来源:互联网 发布:sql建立数据库用户 编辑:程序博客网 时间:2024/05/01 08:13
参考文件
http://www.roboticslibrary.org/tutorials/build-windows
下载CMake
如果要自己编译,那么需要下载不低于2.8.11的CMAKE,我下的是下面的版本
cmake-3.6.0-rc1-win64-x64.msi
编译准备
根据文档,该库是通过VS2010的编译器编译的:
注意:一定要把BUILD_RL_**的选全,这样才能构建完整的版本。
怎么知道依赖哪些模块
E:\01_workspace\05_RL\rl-0.6.2\Modules可以查询
配置,也就是解决-NOTFOUND的地方
1.勾上Advance
2.添加编译参数
set VCBUILD_DEFAULT_OPTIONS=/M%NUMBER_OF_PROCESSORS%
set CL=/MP
3.修改安装路径(默认是安装到C盘)
4.尝试生成下,即可发现需要配置哪些项
5.下载eigen3
下载好eigen3之后,设置路径
然后点击gen继续生成试试
6.下载设置好boost
7.。。。。。等等其他的库的编译安装,依赖的东西太多,难得都挨个下载编译
简单办法:直接把安装版下载下来,然后安装好,他自动会把依赖的库和头文件都放到本地磁盘。
然后这里就直接全部都用安装版附带的库,方便又好用!
一定要把错误全部解决完!lib可以直接指定到对应的lib文件。
配置完如下:
编译
然后点击<generate>,即可生成完毕!
到build目录,即可看到生成好的项目文件
全部编译(这肯定会有编译错误,因为有些库的路径不对,或者有些库的依赖不全,需要挨个处理下),比如wrlview这个程序,还需添加如下几个lib。
编译问题:
1.无法解析的外部符号 "public: class QWidget * __thiscall SoQtComponent::getWidget(void)const " (?getWidget@SoQtComponent@
添加E:\Program Files (x86)\rl-0.6.2\lib\soqt1d.lib
2.无法解析的外部符号 "public: void __thiscall SoBase::ref(void)const " (?ref@SoBase@@QBEXXZ),该符号在函
添加E:\Program Files (x86)\rl-0.6.2\lib\coin3d.lib
3.无法解析的外部符号 _xmlSaveFormatFile,该符号在函数 "public: void __thiscall rl::xml::Document::save(class std::basic_string<char,s
添加E:\Program Files (x86)\rl-0.6.2\lib\libxml2.lib
其实这个问题可以在configuration时解决,就是lib指定是哪个lib即可:
最后编译通过:
完毕
编译好的lib存放的路径是:
E:\01_workspace\05_RL\rl-0.6.2\build\src\rl\[name]\[Debug]\下面。这样就有debug版本的库了
安装
我们可以根据需要把RL的debug版本库拷贝到E:\Program Files (x86)\rl-0.6.2\lib(这个目录是windows安装版本生成的,RL的库和依赖的库都在这个目录)。
因为RL安装文件是没有提供Debug版本的RL库的,而其他的比如solid等第三方库就有2个版本。
这里提供一个安装脚本:
效果
安装了自己编译的库之后,就可以调试项目了,而且也可以直接调试RL的库了,因为编译的lib里面的调试信息已经记录的是我们自己下载的代码的路径了。
- 03_源码编译
- Android_4.2_源码下载和编译环境安装及Android_4.2_源码编译
- android4.4系统源码编译(三)_编译
- android4.4系统源码编译(二)_源码下载
- Android源码编译详解【四】:Android 6.0_源码的下载与编译
- android4.4系统源码编译(一)_环境搭建
- android4.4系统源码编译(四)_问题总结
- android4.4系统源码编译(四)_问题总结
- Apache Tomcat 8_源码编译、安装及调试
- 自动下载源码_并编译_打包_部署_重启服务的Shell脚本
- Spring源码学习一_下载Spring项目源码并编译为Eclipse
- Spring源码学习一_下载Spring项目源码并编译为Eclipse项目
- 编译源码
- 源码编译
- 源码编译
- 源码编译
- Linux编译和执行java工程源码_由浅入深全面讲解_20150807
- 读书笔记_编译过程
- 设计模式之工厂模式总结
- Tolerance-公差,可用来判断两点是否相等,,两向量是否相等、平行、垂直等
- Elasticsearch安装中文分词插件ik(ES 2.3.3 & IK 1.9.3)
- react native 视图
- 面试题目
- 03_源码编译
- 用javascript正则表达式判断一个串是否存在特殊字符
- Linux下vi命令大全以及vi语法高亮
- Web自动化框架LazyUI使用手册(5)--模板工程:LazyUI-template详解
- GET POST方法长度限制
- 利用JDBC连接MySQL数据库
- C++ 编程题练习-整数的输出格式(7-3)
- 微信支付
- 自定义View之小细节