Clion在Mac环境下是VS的优秀替代品,但是他的环境配置确实没有VS下那种可视化操作界面那么方便,并且相应的参考资料也相对较少。就拿这次搭建GDAL的环境来说就比VS的添加库添加头文件等操作要感觉难易上手。
实际上当熟练掌握了cmakelist怎么写了以后就会觉得配置的效果反而会更加快捷。这里插一个包管理工具——homebrew。对于macOS下的开发环境搭建,这绝对算得上一大杀器。同样是针对图像处理的环境搭建,OpenCV就相对来说友好了许多,在执行了brew install opencv后,它就已将OpenCV相关内容进行了系统变量的配置(也有可能需要一步sudo XXXXXX,一般在homebrew操作完成后他就会给出提示),在新建OpenCV的demo程序时,只需要find_package(OpenCV required),就能嗅探到环境变量,之后的就是常规的include_directories。。。target_link_libraries。。。可以进文件目录/usr/local/cellar/opencv/XXX/share看到已经有了OpenCVconfig.cmakelist。很好很强大。
但是同样作为一个brew list 中的一个库,GDAL就没有那么好的待遇了。在share文件里没有写好的cmakelist给系统辨认,那么find_package久不那么好用了。这样就需要自己写:
cmakelist.txt:
cmake_minimum_required(VERSION 3.8)
project(gdaldemo)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp)
add_executable(gdaldemo ${SOURCE_FILES})
include_directories(/usr/local/Cellar/gdal/1.11.5_3/include)
link_directories(/usr/local/Cellar/gdal/1.11.5_3/include)
target_link_libraries(gdaldemo /usr/local/Cellar/gdal/1.11.5_3/lib/libgdal.dylib)
那么可以总结一下该怎么写cmakelist呢??基本重要的就那么几个步骤,记录一下以防需要链接另外的第三方库时又变的手足无措。步骤keypoint:
#添加非标准的库文件搜索路径
LINK_DIRECTORIES(/tmp/lib)
#添加非标准的头文件的搜索路径
INCLUDE_DIRECTORIES(/tmp/include/hello)
#添加可执行文件
ADD_EXECUTABLE(demo main.cpp)
#添加链接库
TARGET_LINK_LIBRARIES(demo libXXX.a)
这样基本就是配置完成了。因为一直只是学习使用的原因,当具体需要项目打包是怎么连带着打包静态库动态库的步骤还没有研究过XD。