相关疑难解决方法(0)

如何使用CMake正确添加包含目录

大约一年前,我询问了CMake中的头依赖关系.

我最近意识到问题似乎是CMake认为那些头文件是项目外部的.至少,在生成Code :: Blocks项目时,头文件不会出现在项目中(源文件会出现).因此,在我看来,CMake认为这些标题是项目的外部,并且不会在依赖项中跟踪它们.

在CMake教程中快速搜索只指出include_directories哪个似乎没有我想做的...

向CMake发出信号通知特定目录是否包含要包含的标头的正确方法是什么,并且生成的Makefile应该跟踪这些标头?

c++ ubuntu cmake

208
推荐指数
7
解决办法
35万
查看次数

CMake:找不到头文件

我有一个目录main,它有以下子目录:A、B、C、D、Test。

在测试中,我有一个包含以下内容的 CMakeLists 文件:

cmake_minimum_required(VERSION 2.8)
enable_testing()
set(TEST_EXE_NAME test)
add_executable(${TEST_EXE_NAME} test.cpp)
add_test(NAME "testDatabase" COMMAND ${TEST_EXE_NAME})
target_include_directories(Test PUBLIC ./)
target_include_directories(Test A B C D)
target_link_libraries(Test A B C D)
Run Code Online (Sandbox Code Playgroud)

在测试中,我有一个可执行文件,其中 #includes 来自 A、B、C 和 D 的几个头文件。

但是,执行 make 后,我收到消息 cmake 无法从 A、B、C 和 D 中找到这些头文件。

我怎样才能让它消失?

c++ cmake ctest

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

c++ ×2

cmake ×2

ctest ×1

ubuntu ×1