一、下载OpenMesh
进入OpenMesh的Download下载页面(http://www.openmesh.org/download/),我下载安装了很多版本都不成功,最后试好了一个
OpenMesh5.1,我的电脑是Win10 64bit + VS2013。

二、配置环境
① 新建一个“空的基于控制台的Win32程序”,并添加一个源文件test.cpp。
② 为了使配置可以很方便的移植到其他使用OpenMesh的程序上,我这里是新建了一个属性表,
命名为OpenMesh。
③ 打开属性表,按如下图找到VC++目录配置包含目录和库目录,就是你按刚才安装的openmesh地址
④ 然后在链接器—输入中,加入附加依赖项OpenMeshCored.lib,OpenMeshToolsd.lib,因为我编译是Debug,Release用的附加项是
OpenMeshCore.lib;OpenMeshTools.lib。
⑤ 最后在C\C++的预处理中加上_USE_MATH_DEFINES,如下图,至此,配置全部完成。

三、示例程序,在test.cpp中输入以下代码:
#include <iostream>
// -------------------- OpenMesh
#include <OpenMesh/Core/IO/MeshIO.hh>
#include <OpenMesh/Core/Mesh/PolyMesh_ArrayKernelT.hh>
// ----------------------------------------------------------------------------
typedef OpenMesh::PolyMesh_ArrayKernelT<> MyMesh;
// ----------------------------------------------------------------------------
// Build a simple cube and write it to std::cout
int main()
{
MyMesh mesh;
// generate vertices
MyMesh::VertexHandle vhandle[8];
vhandle[0] = mesh.add_vertex(MyMesh::Point(-1, -1, 1));
vhandle[1] = mesh.add_vertex(MyMesh::Point(1, -1, 1));
vhandle[2] = mesh.add_vertex(MyMesh::Point(1, 1, 1));
vhandle[3] = mesh.add_vertex(MyMesh::Point(-1, 1, 1));
vhandle[4] = mesh.add_vertex(MyMesh::Point(-1, -1, -1));
vhandle[5] = mesh.add_vertex(MyMesh::Point(1, -1, -1));
vhandle[6] = mesh.add_vertex(MyMesh::Point(1, 1, -1));
vhandle[7] = mesh.add_vertex(MyMesh::Point(-1, 1, -1));
// generate (quadrilateral) faces
std::vector<MyMesh::VertexHandle> face_vhandles;
face_vhandles.clear();
face_vhandles.push_back(vhandle[0]);
face_vhandles.push_back(vhandle[1]);
face_vhandles.push_back(vhandle[2]);
face_vhandles.push_back(vhandle[3]);
mesh.add_face(face_vhandles);
face_vhandles.clear();
face_vhandles.push_back(vhandle[7]);
face_vhandles.push_back(vhandle[6]);
face_vhandles.push_back(vhandle[5]);
face_vhandles.push_back(vhandle[4]);
mesh.add_face(face_vhandles);
face_vhandles.clear();
face_vhandles.push_back(vhandle[1]);
face_vhandles.push_back(vhandle[0]);
face_vhandles.push_back(vhandle[4]);
face_vhandles.push_back(vhandle[5]);
mesh.add_face(face_vhandles);
face_vhandles.clear();
face_vhandles.push_back(vhandle[2]);
face_vhandles.push_back(vhandle[1]);
face_vhandles.push_back(vhandle[5]);
face_vhandles.push_back(vhandle[6]);
mesh.add_face(face_vhandles);
face_vhandles.clear();
face_vhandles.push_back(vhandle[3]);
face_vhandles.push_back(vhandle[2]);
face_vhandles.push_back(vhandle[6]);
face_vhandles.push_back(vhandle[7]);
mesh.add_face(face_vhandles);
face_vhandles.clear();
face_vhandles.push_back(vhandle[0]);
face_vhandles.push_back(vhandle[3]);
face_vhandles.push_back(vhandle[7]);
face_vhandles.push_back(vhandle[4]);
mesh.add_face(face_vhandles);
// write mesh to output.obj
try
{
if (!OpenMesh::IO::write_mesh(mesh, "output.off"))
{
std::cerr << "Cannot write mesh to file 'output.off'" << std::endl;
return 1;
}
}
catch (std::exception& x)
{
std::cerr << x.what() << std::endl;
return 1;
}
return 0;
}
四、效果图如下:
将生成的output.off用MeshLab打开得到如下效果:
五、遇到的问题
我编译的时候出现了无法查找或打开 PDB 文件的问题,解决办法如下:
① 点调试。
② 找到选项和设置。
③ 右边勾上启用源服务器支持。
4、左边找到符号。
5、把微软符号服务器勾。
6、运行的时候等一下即可。