可以看到compile_commands.json中的命令为, "command":"/usr/bin/cc -g2 -Wall -g -o CMakeFiles/app.dir/a.c.o -c /home/zwl/work/daily/2023-05-25/a.c", 这里通过三种方法引入了三个编译参数, add_compile_options, -- 这是方式是给这条命令后出现的target( add_executable/add_library ), ...
Specify compile definitions to use when compiling a given <target>. The named <target> must have been created by a command such as add_executable() or add_library() and must not be an Imported Target. 编译给定的 <target> 时使用指定的编译定义。<target> 必须是 add_executable() 或者 add_...
在cmake脚本中,设置编译选项可以通过add_compile_options命令,也可以通过set命令修改CMAKE_CXX_FLAGS或CMAKE_C_FLAGS。 使用这两种方式在有的情况下效果是一样的,但请注意它们还是有区别的: add_compile_options命令添加的编译选项是针对所有编译器的(包括c和c++编译器),而set命令设置CMAKE_C_FLAGS或CMAKE_CXX_F...
CMake支持创建静态库和动态库。默认情况下,add_library()命令会创建一个静态库。如果你想要创建一个动态库,你需要在命令中添加SHARED参数,例如:add_library(MyLib SHARED main.cpp)。 如果你想要同时创建静态库和动态库,你可以将它们都列出来,例如:add_library(MyLibStatic STATIC main.cpp)和add_library(MyLibSh...
libtestFunc.so …或者find_library(TESTFUNC_LIB libtestFunc.a … ps: 查看elf文件使用了哪些库,可以使用readelf -d ./xx来查看 例:readelf -d ./main 六 条件编译 有时编译程序时想添加一些编译选项,如-Wall,-std=c++11等,就可以使用add_compile_options来进行操作。
cmake_minimum_required ( VERSION 3.20 ) project ( testprj ) add_compile_options(foo1 foo2) get_directory_property( MyFoo DIRECTORY ${CMAKE_SOURCE_DIR} COMPILE_OPTIONS ) foreach( d ${MyFoo} ) message( STATUS "Found COMPILE_OPTIONS: " ${d} ) endforeach() message( STATUS "MyFoo: ...
add_library 生成库文件,默认是静态库。 # SHARED生成动态库libx.so,STATIC生成静态库libx.a add_library(libname [SHARED|STATIC|MODULE] [EXCLUDE_FROM_ALL] source1...n) add_compile_options 添加编译参数,如 -wall, -std=c++11, -fPIC add_compile_options(...) target_link_libraries 链接库文件,如果...
add_compile_options(-Os -g -Wall -Wextra -pedantic -Werror) include_directories(src/c)add_library(xxx STATIC xxx.c) 需要注意的是,因为CMake的构建目标必须是库或者可执行文件,所以并没有命令仅生成.o文件,所以这里使用add_library代替。 3 链接 ...
LIBRARY_OUTPUT_PATH: 库文件的默认输出路径,这里设置为工程目录下的lib目录 PS:前面使用set_target_properties重新定义了库的输出名称,如果不使用set_target_properties也可以,那么库的名称就是add_library里定义的名称,只是连续2次使用add_library指定库名称时(第一个参数),这个名称不能相同,而set_target_properties可...
一、BuildType#javaCompileOptions 配置 参考【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库 )博客中的 CMake 配置的 ndk 代码 , 其中 使用了 find_library 查找系统的动态库 , ...