实验环境
win10 专业版64位,Visual Studio 2019,Qt 5.12.5。
项目使用的第三方包:
- boost 1.80.0
- CGAL 5.0.4
- freeglut 3.4.0
- OpenMesh 9.0
- opencv 4.8.0
- Eigen 3.4.0
- tbb 2022.0.0
安装QT


从Qt官网上下载对应的安装包,按照引导进行安装。
在Visual Studio中扩展中下载qt扩展包。

然后在qt扩展设置中添加编译器msvc2017_64。
在项目配置中选择刚刚添加的编译器。

安装包下载及配置
1、boost和CGAL
参考文章:CGAL+VS2019安装_cgal库安装vs2019-CSDN博客
2、OpenMesh

从OpenMesh官网上下载上面指示的版本的安装包,然后按照指示进行安装。我的安装目录为:
D:\MyPackages\OpenMesh 9.0,按照下面步骤配置项目:
1.项目-属性-VC++目录-包含目录-编辑
添加:D:\MyPackages\OpenMesh 9.0\include
2.项目-属性-链接器-常规-附加库目录-编辑
添加:D:\MyPackages\OpenMesh 9.0\lib
3.项目-属性-链接器-输入-附加依赖项-编辑
添加:OpenMeshCored.lib和OpenMeshToolsd.lib
4.项目-属性-C/C++预处理器-预处理器定义-编辑
添加:_USE_MATH_DEFINES
修改D:\MyPackages\OpenMesh 9.0\include\OpenMesh\Core\Utils路径下的color_cast.hh和vector_cast.hh两个文件的内容。
1.color_cast.hh
将前面第一个模板替换为:
template <typename dst_t, typename src_t>
struct color_caster
{
typedef dst_t return_type;
inline static return_type cast(const src_t& _src)
{
dst_t dst;
vector_copy(_src, dst, GenProg::Int2Type<vector_traits<dst_t>::size_>());
return dst;
}
};
2. vector_cast.hh
将前面第四个模板替换为:
/** \name Cast vector type to another vector type.
*/
//@{
//-----------------------------------------------------------------------------
template <typename src_t, typename dst_t>
inline void vector_copy(const src_t &_src, dst_t &_dst, GenProg::Int2Type<1>)
{
_dst[0] = _src[0];
}
template <typename src_t, typename dst_t>
inline void vector_copy(const src_t &_src, dst_t &_dst, GenProg::Int2Type<2>)
{
_dst[0] = _src[0];
_dst[1] = _src[1];
}
template <typename src_t, typename dst_t>
inline void vector_copy(const src_t &_src, dst_t &_dst, GenProg::Int2Type<3>)
{
_dst[0] = _src[0];
_dst[1] = _src[1];
_dst[2] = _src[2];
}
template <typename src_t, typename dst_t>
inline void vector_copy(const src_t &_src, dst_t &_dst, GenProg::Int2Type<4>)
{
_dst[0] = _src[0];
_dst[1] = _src[1];
_dst[2] = _src[2];
_dst[3] = _src[3];
}
template <typename src_t, typename dst_t>
inline void vector_copy(const src_t &_src, dst_t &_dst, GenProg::Int2Type<5>)
{
_dst[0] = _src[0];
_dst[1] = _src[1];
_dst[2] = _src[2];
_dst[3] = _src[3];
_dst[4] = _src[4];
}
template <typename src_t, typename dst_t>
inline void vector_copy(const src_t &_src, dst_t &_dst, GenProg::Int2Type<6>)
{
_dst[0] = _src[0];
_dst[1] = _src[1];
_dst[2] = _src[2];
_dst[3] = _src[3];
_dst[4] = _src[4];
_dst[5] = _src[5];
}
//-----------------------------------------------------------------------------
3、opencv

从opencv官网上下载上面指示的版本的安装包,然后按照指示进行安装。
配置系统环境变量

按照下面步骤配置项目:
1.项目-属性-VC++目录-包含目录-编辑
添加:D:\MyPackages\opencv\build\include\opencv2和D:\MyPackages\opencv\build\include
2.项目-属性-链接器-常规-附加库目录-编辑
添加:D:\MyPackages\opencv\build\x64\vc16\lib
3.项目-属性-链接器-输入-附加依赖项-编辑
添加:opencv_world480d.lib
4、使用vcpkg安装freeglut、Eigen和tbb
vcpkg install freeglut:x64-windows
vcpkg install eigen3:x64-windows
vcpkg install tbb:x64-windows
vcpkg integrate install
使用everything软件搜索tbb12_debug.dll,将其放在目录C:\Windows\System32下。再搜索tbb12_debug.lib路径,将其添加到项目的附加库目录中,我的路径为D:\GitHouse\vcpkg\installed\x64-windows\debug\lib。将tbb12_debug.lib添加到项目配置链接器-输入-附加依赖项中。
项目UI

百度网盘链接:https://pan.baidu.com/s/1PdKN16xPk0INsodKRG4zeA
提取码:zhkb

2722

被折叠的 条评论
为什么被折叠?



