为了实现麻工的那篇骨骼分配权重算法,今天试着安装了一下OpenMesh。本来官网已经提供了基于VS2008的lib和include了。但是为了参考它的APP源码,我还是自己Cmake了一遍。下面记录一下Cmake的主要问题:
1.出现Glut not found。
以前cmake的时候没有出现过这种问题,为了深究问题的根源,自己查看了部分部分Cmake介绍文档,如:http://www.docin.com/p-61773546.html。通过查找分析,鹰仔认为OpenMesh的cmake写的不是很完善,要查找Glut,简单的通过Add Entry加入是不行的。于是本人查看了Cmake的原文件,主要是FindGLUT.cmake文件。
主要分布如下图,由于有绝对目录,鹰仔认为大家需要手动修改一下,把橙色部分改成你存放glut的目录,oK,成功解决了。以此类推,其他找库的方法同样可以用这种方法解决,希望能对大家有帮助。
IF (WIN32)
FIND_PATH( GLUT_INCLUDE_DIR NAMES GL/glut.h
PATHS ${GLUT_ROOT_PATH}/include
"D:/Program Files/OGLSDK/include" )
FIND_LIBRARY( GLUT_glut_LIBRARY NAMES glut32 glut
PATHS
${OPENGL_LIBRARY_DIR}
${GLUT_ROOT_PATH}/Release
"D:/Program Files/OGLSDK/lib"
2.建立自己的工程
由于个人兴趣,自己单独截取出openmesh的qtviewer例子,重新建立了一个工程,但是在链接的时候还是出现"You have to define _USE_MATH_DEFINES in the compiler settings!"的错误,解决方式是:在工程-》c\c++-》preprocessor-》中加上:_USE_MATH_DEFINES 和 NOMINMAX。