問題描述:win10下,OpenGP-master用cmake生成工程(注意把 headeronly 選項,取消勾選)之後,用VS2013打開,(1)提示已經包含OpenGP項目,(2)項目生成成功,但沒有生成OpenGP.lib
解決:
step 1,在CMakeList.txt的末尾添加:
add_library(OpenGP1 STATIC ${SOURCES} ${HEADERS})
target_link_libraries(OpenGP1 ${LIBRARIES_})
#--- "make install" (always install source as well for headeronly support)
install(TARGETS OpenGP1 DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/)
#--- It's a C++ library
set_target_properties(OpenGP1 PROPERTIES LINKER_LANGUAGE CXX)
#--- Set the library version
set_target_properties(OpenGP1 PROPERTIES VERSION 1.0)
step 2,用VS2013打開工程後,不再有提示(1),會多一個OpenGP1項目,右鍵生成,會出現:
error2872 "Point":未明確的字符
雙擊錯誤打開那個.cpp文件,查看定義,使用了namespace,還報錯,原因目前不知道。這種錯誤是一般與VS關鍵字衝突,把該變量名換成其他的,並修改其他使用該變量的位置。
重新生成,即可得到OpenGP1.lib,更名爲OpenGP.lib即可,該工程的其他項目,一些example項目會用到這個。