cmake 1

来源:互联网 发布:2018挂历制作软件 编辑:程序博客网 时间:2024/06/05 19:36
编写工程主文件CMakeLists.txt
PROJECT(NEWHELLO)
ADD_SUBDIRECTORY(src)
编写src/CMakeLists.txt
ADD_EXECUTABLE(main main.c)

仍然建立build目录,使用cmake ..方式构建。

 

 

set(SRC_LIST main.cpp)
MESSAGE(STATUS "This is SOURCE dir")
ADD_EXECUTABLE(pjsample ${SRC_LIST})

 

 

引入头文件搜索路径。
INCLUDE_DIRECTORIES(/..../include/) 即main.cpp中的调用的#include <aaa.h>在该include文件夹下。

会去掉error: hello.h: 没有那个文件或目录 这种错误,但是会出现

main.c:(.text+0x12): undefined reference to `HelloFunc'

因此引入link到共享库

LINK_DIRECTORIES(/..../lib/)

TARGET_LINK_LIBRARIES(main libhello.a)

顺序不要弄错就是target_link_libraries需要在add_executable后面执行。
TARGET_LINK_LIBRARIES(main hello)
也可以写成
TARGET_LINK_LIBRARIES(main libhello.so) 都是link libhello.so