link_directories(/usr/local/lib) add_executable(my_app main.cpp) target_link_libraries(my_app my_lib) 1. 2. 3. 在这个示例中,link_directories命令将/usr/local/lib目录添加到链接路径中。然后,add_executable命令创建一个名为my_app的可执行文件,并使用target_link_libraries命令将名为my_lib的库链接...
include_directories:指定头文件的搜索路径,相当于指定gcc的-I参数 link_directories:动态链接库或静态链接库的搜索路径,相当于gcc的-L参数 add_subdirectory:包含子目录 add_executable:生成可执行程序,指定编译 add_definitions:添加编译参数 例如: add_definitions(-DDEBUG)将在gcc命令行添加DEBUG宏定义; add_definitio...
变量PROJECT_SOURCE_DIR 表示工程所在的路径,系统默认的变量 3. LINK_DIRECTORIES(...) 库文件存放的目录,在程序连接库文件的时候要再这些目录下寻找对应的库文件 4. ADD_LIBRARY(...) 表示生成静态链接库libassociaiton.a,由${PROJECT_SOURCE_DIR}代表的文件生成。 语法:ADD_LIBRARY(libname [SHARED|STATIC] S...
TARGET_LINK_LIBRARIES(myProject hello),连接libhello.so库到myProject(可执行文件)当中 TARGET_LINK_LIBRARIES(myProject libhello.a) TARGET_LINK_LIBRARIES(myProject libhello.so) 再如: TARGET_LINK_LIBRARIES(myProject libeng.so) #将libeng.so链接到myProject中。 TARGET_LINK_LIBRARIES(myProject eng) TARG...
include_directories("${PROJECT_SOURCE_DIR}/include") 9.添加链接库路径: link_directories("${PROJECT_SOURCE_DIR}/lib") 10.添加生成可执行文件: add_executable(${PROJECT_NAME} ${SRC_LIST} ${HEAD_LIST}) 11.链接库名: target_link_libraries(${PROJECT_NAME} ${LIB_NAME}) ...
link_directories(${CMAKE_SOURCE_DIR}/library) #添加引用的库文件目录,这里是相对目录的形式 add_subdirectory(${CMAKE_SOURCE_DIR}/util) #当需要构建大型工程,各个子目录都有对应的CMakeList时,使用该条语法 aux_source_directories(${CMAKE_SOURCE_DIR}/src DIR_SRC) #添加需要编译源文件到DIR_SRC变量 ...
add_library(生成库),target_link_libraries(生成目标连接的库),set_target_properties CMAKE 添加编译选项|-g编译参数/选项 包含文件的的目录include_directories 优化项|优化等级 Cmake设置优化等级| cmake 生成 debug和 release 版 设置默认构建类型 CMake设置编译参数/选项 ...
include_directories(${CURRENT_DIR}/src/main/jni/include) #此处可以通过多加几个addlibrary来针对多个cpp文件来生成多个.so文件 #它的用法跟Android.mk里的定义差不多 #需要留意,编译出来的文件放在\build\intermediates\cmake中,但是不用自己复制了,它会自动复制到 ...
target_link_directories(Demo INTERFACE include) 注意,前文中的 target 属性只有INTERFACE部分才会对 INTERFACE 库生效。 OBJECT 库 这个库相当于一堆.o文件的集合,并不会进一步打包到一起得到静态库,通常用于节约编译时间。 OBJECT 库还可以避免静态库的一个问题,即链接时对于没用到的部分进行的自动剔除。