gpt4 book ai didi

c++ - cpplint.py 和 cmake : how to specify include files

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:21:35 32 4
gpt4 key购买 nike

假设我有一个目录结构如下的项目:

myproject
├── .git [...]
├── CMakeLists.txt
└── src
├── CMakeLists.txt
├── foo.cc
└── foo.h

如果在 src/foo.cc 中,我包含像 #include "foo.h" 这样的头文件,然后运行 ​​Google 的 cpplint.py在它上面,它提示

src/foo.cc:8:  Include the directory when naming .h files  [build/include] [4]

所以我将它包含为 #include "./foo.h"。现在我收到另一个投诉:

src/foo.cc:8:  src/foo.cc should include its header file src/foo.h  [build/include] [5]

但是,如果我将它包含为 #include "src/foo.h",编译器将找不到它,因为我当前的 CMake 设置。这是我的两个 CMakeLists.txt 文件的样子:

CMakeLists.txt:

project(myproject)
add_subdirectory(src)

src/CMakeLists.txt:

set(SRCS foo.cc)
add_executable(foo ${SRCS})

我使用 CMake 的方式是否存在根本性错误?我是否应该完全删除 src/CMakeLists.txt 文件,并在基础 CMakeLists.txt 中指定所有源文件及其完整路径?

或者我应该忽略 cpplint 的提示,因为它们并不真正适合 CMake 项目的设置方式?

最佳答案

在顶层 CMakeLists.txt 中添加 include_directories(${CMAKE_SOURCE_DIR}),就像 Wander 建议的那样:

project(myproject)
include_directories(${CMAKE_SOURCE_DIR})
add_subdirectory(src)

关于c++ - cpplint.py 和 cmake : how to specify include files,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40439176/

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