gpt4 book ai didi

添加头文件的 CMake 构建错误 - fatal error : file not found

转载 作者:行者123 更新时间:2023-12-03 20:20:41 25 4
gpt4 key购买 nike

我使用 CMake 在 Ubuntu 14.04 中构建 C++ 源文件。

我有一个主要的源文件。这包括一个头文件,其中包含另一个源文件中的函数。

我的主要源文件是 DisplayImage.cpp,我的头文件是 Camera.h 和一个源文件 Camera.cpp。

每个文件都位于一个文件夹中。我有一个 CmakeLists.txt:

cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp Camera.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )

当我执行命令时 cmake .在终端中,它配置成功。之后,我执行命令 make ,我收到一个 fatal error :
fatal error: Camera.h: No such file or directory

请帮我。我的 CmakeLists.txt 错了吗?

最佳答案

您应该使用 target_include_directories() 告诉 CMake 将包含标题的特定包含目录与 DisplayImage 相关联目标。假设您的 Camera.h文件与 Camera.cpp 位于同一目录中,您可以使用 CMAKE_CURRENT_SOURCE_DIR 来指定这个目录。您还应该添加 ${OpenCV_INCLUDE_DIRS}此处,如“在 CMake 中使用 OpenCV”中所示 tutorial .

cmake_minimum_required(VERSION 2.8)
project( DisplayImage )
find_package( OpenCV REQUIRED )
add_executable( DisplayImage DisplayImage.cpp Camera.cpp )
target_include_directories(DisplayImage PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${OpenCV_INCLUDE_DIRS}
)
target_link_libraries( DisplayImage PRIVATE ${OpenCV_LIBS} )

注意:在 PUBLIC 中始终指定作用域参数(例如 PRIVATEINTERFACEtarget_* )是一个很好的 CMake 实践。命令。

关于添加头文件的 CMake 构建错误 - fatal error : file not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26794074/

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