如何在 vs2013中 集成eigen

如何在 vs2013中 集成eigen,第1张

选取一个vs2013的解决方案文件。sln,以文本文档方式打开它。(我用的是sublime text 2,我认为是款代替记事本的不错工具,性感而小巧。有人从Notapad+转为用它,自有其价值吧。)

在文件开头我们可以看到一些关键信息:

Format Version 12.00

VisualStudioVersion = 12.0.21005.1

MinimumVisualStudioVersion = 10.0.40219.1

表明该。sln生成的格式版本是12.00(vs2013),vs版本是12.0.21005.1(vs2013),最小兼容版本是10.0.40219.1(vs2010)。

那也许把该解决方案改成10.0.40219.1以上都行吧?

【版本区别】

像我这样的新手请注意这里,Version 12.00意味着版本为vs2013而非vs2012,本文末最后已总结了vs版本中的该现象。下一步中改Format Version 为11.00而非10.00

(2)修改。sln文件。

(3)重新打开

用VS2010打开修改后的解决方案文件,成功打开。

(4)编译

我想起vs2012和vs2010的平台工具集不一致,vs2012是v110,vs2010是v100,vs2013则是v120。我想先不去项目文件里查看,也许在加载解决方案的时候vs已经重置了平台工具集?于是尝试①直接编译。

编译失败,因为结果平台工具集未重置,本机上没有vs2013,找不到v120的平台工具集。同时,注意到,有“项目文件包含ToolsVersion=”12.0“ 设置……将项目视为具有ToolsVersion=”4.0“ 设置”。这似乎是。Net的工具版本号,不修改的话会自动兼容。

③编译通过,运行成功。同时,ToolsVersion的版本号是被视为4.0了。

④去查找对应ToolsVersion的项目文件,修改之。

FCL是一个在由三角形组成的几何模型上执行三种近似查询的库。

FCL最低要求是VS2015,我这里用的是VS2019。

https://github.com/flexible-collision-library/fcl

http://eigen.tuxfamily.org/index.php?title=Main_Page

https://github.com/danfis/libccd

http://octomap.github.com

选择默认设置即可。

在生成FCL之前需要修改CMakeLists.txt文件,分别把Eigen\libccd\octomap的路径加上:

用CMake进行Generate时会报错,可忽略:

双击打开E:\FCL\project\libccd-master\build里的libccd.sln,所有库的编译都统一用Debug|x64,开始编译:

双击打开E:\FCL\project\octomap-devel\build里的octomap-distribution.sln,开始编译

双击打开E:\FCL\project\fcl-master\build里的fcl.sln,开始编译

选中项目test_fcl_box_box,右键选中设为启动项目:

将ccd.dll从E:\FCL\project\libccd-master\build\src\Debug拷贝到文件夹E:\FCL\project\fcl-master\build\test\Debug,运行程序:


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存