gpt4 book ai didi

c++ - CMake : can't find my header file in a different directory

转载 作者:行者123 更新时间:2023-12-02 10:50:04 26 4
gpt4 key购买 nike

我有一个包含以下相关文件夹的CMake项目:

project_folder
-src
|--main.c
peripherals
|--something.h
|--something.c
我在 project_folder中的CMake包括:
add_subdirectory(peripherals)

if (NOT $ENV{TARGET_SOURCES} STREQUAL "")
target_sources(app PRIVATE $ENV{TARGET_SOURCES})
else()
target_sources(app PRIVATE src/main.c)
endif()
我在 peripherals下的CMake包括:
add_library (peripherals something.c)

target_include_directories (peripherals PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
src下的CMake:
add_executable(app main.c)
target_link_libraries(app PRIVATE peripherals)

我的项目正在完全构建中,但是当我尝试将头文件包含在 main.c中时,我得到:
project_folder/peripherals/something.h:No such file or directory
在我的 main.c文件中,我有 #include "peripherals/something.h"。有谁知道如何解决这一问题?我不确定我的#include语句是否正确,并且我认为我的CMakeLists文件中缺少内容

最佳答案

您可以在 main.cpp 中执行"#include "../peripherals/i2c_test.h"要么
在你的CMake中project_folder:

 target_include_directories(app ${CMAKE_CURRENT_SOURCE_DIR})
然后在main.c中:
#include <peripherals/i2c_test.h>
....

关于c++ - CMake : can't find my header file in a different directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62600941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com