我是靠谱客的博主 爱笑小白菜,最近开发中收集的这篇文章主要介绍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. 测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部