在文件开头我们可以看到一些关键信息:
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,运行程序:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)