以一个实际项目来举例
目录
一.目录结构
二.CMakeLists.txt内容
三.执行CMakeLists命令
一.目录结构
1.build放CMake执行后生成的所有的内容,包括最后的工程或可执行文件等;
2.include放工程的头文件,以及HDF5的头文件,可以直接把HDF5中include的文件都复制过来;
3.lib放HDF5的lib文件,Windows下安装HDF5的话,会在安装路径下有lib文件夹,直接复制过来,默认只需要hdf5.lib、hdf5_tools.lib、zlib.lib和szip.lib,其他的根据需求增加,默认的hdf5.lib是C语言的库;
4.src放源文件,放自己写的源文件。
二.CMakeLists.txt内容
以我自己的项目来说,CMakeLists内容如下,项目源码可以参考我的另一篇文章。
[HDF5] 封装了一个简单的C++ HDF5工具库,实现常用数据类型的读写
cmake_minimum_required(VERSION 3.1)
project(test)
#指定c++11标准
set(CMAKE CXX STANDARD 11)
#指定头文件查找路径
include_directories("D:/project/include")
#指定库查找路径
link_directories("D:/project/lib")
file(GLOB SC_FILE "D:/project/src/*.cpp""D:/project/src/*.h")
add_executable(est ${SC_FILE})
#指定加载的库
target_link_libraries(test hdf5.lib hdf5_tools.lib libszip.lib libzlib.lib)
三.执行CMakeLists命令
此处以编译Windows64位的vs工程为例
执行以下命令
cmake .. -G "Visual Studio 12 2013 Win64"
具体对应的VS版本可以通过cmake -h查看
最后在build文件夹中可以查看到新生成了test.sln工程文件,已经把HDF5库链接了进去,同时也可以进行后续的修改和编译。