生成动态库和静态库
1.生成动态库
在CMakeLists.txt中加如下命令:
add_library(calc SHARED ${SRC})
其中calc是库名称,SHARED表示生成的库是动态库,${SRC}表示所有源文件(不包含main.cpp)。
运行:
执行cmake命令,可以发现系统提示动态库libcalc.so生成成功。
去文件夹里检查:
确实生成成功了。
注:动态库有执行权限,静态库没有执行权限。
2.制作静态库
将1中在CMakeLists.txt中的SHARED改成STATIC即可,如下:
add_library(calc STATIC ${SRC})
运行:
系统提示静态库生成成功。
去文件夹中检查
确实生成成功了。
3.指定库文件生成路径
3.1 方法一
在CMakeLists.txt文件中加如下命令
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
这种方法只适用于动态库,因为EXECUTABLE_OUTPUT_PATH表示可执行文件,而只有动态库是有执行权限的,静态库是没有执行权限的。
3.2 方法二
在CMakeLists.txt文件中加如下命令
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
如果后面写的路径不存在,则系统会自动生成所指定的路径。
运行之后库就会自动生成到指定路径,便于管理。