ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) ADD_LIBRARY(hello STATIC ${LIBHELLO_SRC}) 但是如果使用这种方式,只会构建一个动态库,不会构建出静态库,虽然静态库的后缀是.a,此时我们可以修改静态库的名字,这样是可以同时构建动态库和静态库: ADD_LIBRARY(hello SHARED ${LIBHELLO_SRC}) ADD_LIBRARY(hello_st...
这时,就可以在lib 目录得到一个libhello.so,这就是共享库。 如果要指定libhello.so 生成的位置,可以通过在主工程文件CMakeLists.txt 中修改 ADD_SUBDIRECTORY(lib)指令来指定一个编译输出位置或者在lib/CMakeLists.txt 中添加 SET(LIBRARY_OUTPUT_PATH <路径>)来指定一个新的位置。 四、ADD_LIBRARY指令 语法:...
add_library(PocoLib SHARED IMPORTED GLOBAL) # It's important to specify the full path to the library you want to import set_target_properties(PocoLib PROPERTIES IMPORTED_LOCATION "/usr/local/lib/Poco_1.7.2/lib/libPocoFoundation.so") 1. 2. 3. 4. 3、 Object libraries add_library(<name>...
find_library查找lib所在的路径,并保存到指定的变量中。NAME字段可以写全称。 find_package使用第三方的库。 find_path查找到指定file文件的目录。 find_program foreachfunctionget_cmake_propertyget_directory_propertyget_filename_componentget_filename_component( [CACHE]) COMP字段可以是DIRECTORY(只保存路径,不包...
它相当于 g++ 命令的 -L 选项的作用,也相当于环境变量中增加 LD_LIBRARY_PATH 的路径的作用 link_directories("/home/server/third/lib") 3. 宏定义 CMakeLists.txt 之 多重判断宏定义 比如设置为 CPU_ONLY add_definitions(-DCPU_ONLY) 它相当于 g++ 命令的 -D 选项的作用(-DCPU_ONLY),用于宏定义。
target_link_libraries(foo /path_to_static_library/libbar.a) Share Improve this answer Follow answered Oct 17, 2020 at 18:35 Oleg Kokorin 2,56222 gold badges1919 silver badges2929 bronze badges Add a comment 13 You had better use find_library command instead of link_directories. Co...
add_executable(demo main.cpp ) 7.最后贴一个完整的例子 cmake_minimum_required (VERSION 2.6) INCLUDE_DIRECTORIES(../../thirdparty/comm) FIND_LIBRARY(COMM_LIB comm ../../thirdparty/comm/lib NO_DEFAULT_PATH) FIND_LIBRARY(RUNTIME_LIB rt /usr/lib /usr/local/lib NO_DEFAULT_PATH) ...
ADD_EXECUTABLE(main main.cpp) TARGET_LINK_LIBRARIES(main libhello.so) #TARGET_LINK_LIBRARIES(main libhello.a) --- 外部编译 cd /home/guo/cmake_practice/4 mkdir build (新建build文件夹) cd build cmake .. make 执行二进制可执行文件 cd /home/guo/cmake_practice/4/build/src ./...
add_executable(demo main.cpp) 6. 最后贴一个完整的例子 cmake_minimum_required (VERSION2.6) INCLUDE_DIRECTORIES(../../thirdparty/comm) FIND_LIBRARY(COMM_LIB comm ../../thirdparty/comm/lib NO_DEFAULT_PATH) FIND_LIBRARY(RUNTIME_LIB rt /usr/lib /usr/local/lib NO_DEFAULT_PATH) ...
# 指定 CMake 最低版本 cmake_minimum_required(VERSION 3.4.1) # 设置函数库编译 add_library( # 参数 1 : 设置生成的动态库名称 native-lib # 参数 2 : 设置生成的函数库类型 :① 静态库 STATIC② 动态库 SHARED SHARED # 参数 3 : 配置要编译的源文件 native-lib.cpp) # 使用下面的方式引入动态库...