我是靠谱客的博主 爱笑小白菜,最近开发中收集的这篇文章主要介绍OROCOS之KDL(1)—— windows环境搭建篇0. 说明1. 依赖库的版本查看2. 环境配置3. 测试,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
- 0. 说明
- 1. 依赖库的版本查看
- 2. 环境配置
- 3. 测试
注意:以下配置有缺陷,非完美支持,留坑待填,请绕道
0. 说明
- IDE环境:Qt 5.12
- 编译器:MinGW
- 系统:Windows 10
之前有网友说这个框架只适合在ubuntu下玩,我不太同意这个观点,这就是个C++库嘛,能正常编译不就行了吗?
1. 依赖库的版本查看
KDL库是依赖与Eigen库的,不多赘述,直接通过KDL库中的CMakeList文件查看Eigen的版本信息。
既然文件里说了,Eigen3的版本为3.1.2及更高,保险起见,就用3.1.2的版本。
下载完,解压文件夹,待用。
2. 环境配置
CMake的配置方式太麻烦,新手容易出问题,我们直接上个简单粗暴的方法(当然,简单粗暴也就意味着可能会存在一些问题),使用qmake进行配置。
直接在*.pro
文件中加入:
# 注意:根据自己的实际情况修改
INCLUDEPATH += G:CodeBaseeigen_3_1_2
INCLUDEPATH += G:CodeBaseorocos_kdl
3. 测试
#include <iostream>
#include <Eigen/Dense>
#include <src/frames.hpp>
using namespace Eigen;
using namespace KDL;
using namespace std;
int main()
{
//-------- Eigen测试 ---------
Matrix2d a;
a << 1, 2,
3, 4;
MatrixXd b(2,2);
b << 2, 3,
1, 4;
std::cout << "a + b =n" << a + b << std::endl;
//------------ KDL测试 -----------
// Vector v = Vector(1,2,3);
KDL::Vector v1(1,2,3); //隐式创建对象
for(int i=0; i<3; ++i){
cout<<v1[i]<<";";
}
cout<<"n";
KDL::Vector v0 = KDL::Vector::Zero(); //显式创建对象
KDL::Vector vec; //隐式创建对象,调用默认构造函数,成员数据被初始化为0
cout<<vec.x()<<";"<<vec.y()<<";"<<vec.z()<<"n";
// std::cout<<v.data[0]<<std::endl; //获取数组的第一个元素
for(int i=0; i<3; ++i){
cout<<v0(i)<<" "; //循环输出数组的元素
}
cout<<"n";
cout<<v0.x()<<" "; //获取数组的第一个元素
cout<<v0[0]; //获取数组的第一个元素
return 0;
}
可以看到程序正常运行,环境搭建问题解决√
最后
以上就是爱笑小白菜为你收集整理的OROCOS之KDL(1)—— windows环境搭建篇0. 说明1. 依赖库的版本查看2. 环境配置3. 测试的全部内容,希望文章能够帮你解决OROCOS之KDL(1)—— windows环境搭建篇0. 说明1. 依赖库的版本查看2. 环境配置3. 测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复