生成可执行文件sample_projectadd_executable(sample_project ${SOURCE_FILES})#生成可执行文件sample_project 需要连接 ${CMAKE_THREAD_LIBS_INIT}指定的库target_link_libraries (sample_project ${CMAKE_THREAD_LIBS_INIT})
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) link_libraries(${COMM_LIB} ${RUNTIME_LIB}) ADD_DEFINITIONS( -...
3. Cannot find source file: XXX.cpp add_executable里的XXX.cpp文件需要添加相对路径(所谓相对,是相对CMAKE_CURRENT_SOURCE_DIR而言)。 4. Cannot find -lXXX: libXXX.a 或者 libXXX.so文件没有添加进link_directories()里。
TARGET_LINK_LIBRARIES(myProject libhello.so) 再如: TARGET_LINK_LIBRARIES(myProject libeng.so) #这些库名写法都可以。 TARGET_LINK_LIBRARIES(myProject eng) TARGET_LINK_LIBRARIES(myProject -leng) 与add_executable相对位置 LINK_LIBRARIES (添加需要链接的库文件路径,注意这里是全路径) 在add_executable前面...
add_executable(demo main.cpp) 7.最后贴一个完整的例子 代码语言:javascript 复制 cmake_minimum_required(VERSION2.6)INCLUDE_DIRECTORIES(../../thirdparty/comm)FIND_LIBRARY(COMM_LIBcomm../../thirdparty/comm/libNO_DEFAULT_PATH)FIND_LIBRARY(RUNTIME_LIBrt/usr/lib/usr/local/libNO_DEFAULT_PATH)link_li...
list(APPEND CMAKE_PREFIX_PATH "${Protobuf_PREFIX_PATH}") # 查找 Protobuf find_package(Protobuf REQUIRED) # 包含头文件 include_directories(${Protobuf_INCLUDE_DIR}) add_executable(Demo demo.cpp) # 链接选项 target_link_libraries(Demo ${Protobuf_LIBRARIES} pthread) ...
# 指定库路径link_directories(${CMAKE_PREFIX_PATH}/lib1 ${CMAKE_PREFIX_PATH}/lib2) 这个命令将多个库路径添加到链接器的搜索路径中。 通过本章的讨论,我们不仅了解了CMake如何处理不同来源的库,还看到了这一过程与人类整合知识的方式之间的相似之处。下一章将进一步探索CMake中RPATH设置的高级技巧,以及这些...
cmake_minimum_required(VERSION3.10)project(HelloWorld)find_package(fmt CONFIG REQUIRED)add_executable(HelloWorld helloworld.cpp)target_link_libraries(HelloWorld PRIVATE fmt::fmt) 我们来逐一了解CMakeLists.txt文件中的每一行: cmake_minimum_required(VERSION 3.10):指定生成项目所需的 CMake 最低版本为 3.10...
link_directories(directory1 directory2 ...) 它相当于g++命令的-L选项的作用,也相当于环境变量中增加LD_LIBRARY_PATH的路径的作用。 比如: LINK_DIRECTORIES("/opt/MATLAB/R2012a/bin/glnxa64") LINK_LIBRARIES (添加需要链接的库文件路径,注意这里是全路径) ...
cmake_minimum_required(VERSION 3.16) 指令cmake 版本project(hello_world) 设置工程名include_directories(PROJECTSOURCEDIR/include)添加头文件路径linkdirectories({PROJECT_SOURCE_DIR}/lib) 添加链接库的路径add_subdirectory(module)添加 module 子目录, 此目录下也要有CMakeLists.txt文件add_executable(project1 main...