用法:set_target_properties(target_name PROPERTIES INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}/include") 描述:设置目标的包含目录。 COMPILE_DEFINITIONS 用法:set_target_properties(target_name PROPERTIES COMPILE_DEFINITIONS MY_DEFINITION) 描述:为目标设置编译时宏定义。 获取目标属性的方法通常是使用get_target_pr...
为了实现动态库版本号,需要使用 SET_TARGET_PROPERTIES 指令。 具体使用方法如下: SET_TARGET_PROPERTIES(hello PROPERTIES VERSION 1.2 SOVERSION 1) VERSION 指代动态库版本,SOVERSION 指代 API 版本。 将上述指令加入lib/CMakeLists.txt 中,重新构建,在 build/lib 目录会生成: libhello.so.1.2 libhello.so....
set_target_properties: 设置最终生成的库的名称,还有其它功能,如设置库的版本号等 LIBRARY_OUTPUT_PATH: 库文件的默认输出路径,这里设置为工程目录下的lib目录 PS:前面使用set_target_properties重新定义了库的输出名称,如果不使用set_target_properties也可以,那么库的名称就是add_library里定义的名称,只是连续2次使用...
set_target_properties(Thirdlib PROPERTIES IMPORTED_LOCATION {CMAKE_CURRENT_SOURCE_DIR}/jniLibs/libThirdlib.so )CMAKE_CURRENT_SOURCE_DIR 这个变量是系统自定义的,表示CMakeLists.txt文件的绝对路径 注意CMakeLists.txt文件的路径,我的这个文件是放在app/src/main 下。
set_target_properties(mylibrary PROPERTIES PUBLIC_HEADER include/mylibrary.h):设置动态库的属性,将include/mylibrary.h指定为动态库的头文件。 总结 通过以上的步骤,你可以解决Android CMakeLists中设置动态库找不到头文件的问题。首先,你需要创建一个CMakeLists.txt文件,并添加动态库。然后,你需要设置源文件和头...
if(NOT DEFINED QT_DEFAULT_MAJOR_VERSION) set(QT_DEFAULT_MAJOR_VERSION 5) endif() if (NOT TARGET Qt5::qmake) add_executable(Qt5::qmake IMPORTED) set(imported_location "${_qt5Core_install_prefix}/bin/qmake.exe") _qt5_Core_check_file_exists(${imported_location}) set_target_properties(...
set_target_properties(demo5 PROPERTIES ARCHIVE_OUTPUT_DIRECTORY"/home/xy/cmake_practice/lib/" LIBRARY_OUTPUT_DIRECTORY"/home/xy/cmake_practice/lib/" RUNTIME_OUTPUT_DIRECTORY"/home/xy/cmake_practice/bin/" ) 1. 2. 3. 4. 5. 6.
通过访问属性OUTPUT_NAME的设置值,可以确保第二个set_target_properties重写第一个set_target_properties。
set_target_properties(MyExecutable1PROPERTIES COMPILE_DEFINITIONS"DEBUG")set_target_properties(MyExecutable2PROPERTIES COMPILE_DEFINITIONS"RELEASE") 3、高级查找和配置 3.1 查找包的高级用法 find_package() 指令可以用于查找和配置复杂的第三方库和包。
SET_TARGET_PROPERTIES (hello_shared PROPERTIES VERSION 1.1 SOVERSION 1) # 5、若将libhello.a, libhello.so.x以及hello.h安装到系统目录,才能真正让其他人开发使用, # 本例中,将hello的共享库安装到<prefix>/lib目录; #将hello.h安装<prefix>/include/hello目录。