linking errors. Hellow。我有一个包含8个.c和8个.h文件的项目。我应该如何编写CMakeLists.txt来解决所有这些问题的依赖关系?创建库不是方法,因为每个文件都依赖于其他文件。 谢谢!
我的CMakeLists.txt就像
cmake_minimum_required(VERSION 2.8)
project(calc-2.4.0)
set(SOURCE_EXE main.c expmath.c interface.c container.c
polnot.c error.c getelem.c dbg.c
buildctrl.h expmath.h interface.h container.h
polnot.h error.h getelem.h dbg.h)
add_definitions(-Wall -O2)
add_executable(calc ${SOURCE_EXE})
和
cmake_minimum_required(VERSION 2.8)
project(calc-2.4.0)
set(SOURCE_EXE main.c expmath.c interface.c container.c
polnot.c error.c getelem.c dbg.c)
add_definitions(-Wall -O2)
add_executable(calc ${SOURCE_EXE})
所以linter无论如何都看不到定义。
答案 0 :(得分:0)
没有必要将所有头文件添加到CMakeLists.txt。添加头文件所在的文件夹应该足够了。所需的cmake命令是include_directories。
我的建议如下:
include_directory
示例:
cmake_minimum_required(VERSION 2.8)
project(calc-2.4.0)
set(SOURCE_EXE main.c expmath.c interface.c container.c
polnot.c error.c getelem.c dbg.c
buildctrl.h
)
add_definitions(-Wall -O2)
include_directory(${CMAKE_CURRENT_SOURCE_DIR})
add_executable(calc ${SOURCE_EXE})
CMAKE_CURRENT_SOURCE_DIR
指向当前来源目录CMakeLists.txt
文件所在文件夹的子目录中。请参阅Project Structure