3

我正在完成CMake 教程,我正在添加版本号和配置的头文件部分。不幸的是,Xcode 无法识别生成的头文件:

错误:

找不到“src/TutorialConfig”文件

头文件由 CMake 生成 ok:

finder 中的头文件

TutorialConfig.h.in

// the configured options and settings for Tutorial

#define Tutorial_VERSION_MAJOR @Tutorial_VERSION_MAJOR@
#define Tutorial_VERSION_MINOR @Tutorial_VERSION_MINOR@

CMakeLists.txt

cmake_minimum_required (VERSION 2.6)
project (Tutorial)
# The version number.
set (Tutorial_VERSION_MAJOR 1)
set (Tutorial_VERSION_MINOR 0)

# configure a header file to pass some of the CMake settings
# to the source code
configure_file (
  "${PROJECT_SOURCE_DIR}/TutorialConfig.h.in"
  "${PROJECT_BINARY_DIR}/TutorialConfig.h"
  )

# add the binary tree to the search path for include files
# so that we will find TutorialConfig.h
include_directories("${PROJECT_BINARY_DIR}/src")

# add the executable
add_executable(Tutorial src/tutorial.cpp)

这是我正在使用的教程。

4

2 回答 2

1

我不使用 Xcode,而是另一个基于 Linux 的 IDE。但也许我可以帮助你一点。我只是想知道——你的程序编译了吗?这也许更重要。

我的 IDE 经常抱怨诸如您的头文件——即由​​ CMake 生成的配置文件。可以忽略此类警告(至少对我而言)。我通常这样做是因为我的 build/ 目录有时是空的。因此,当我打开源文件时,还没有 TutorialConfig.h。

事实上,IDE 永远不会知道这样的头文件。那是因为它不知道你将在哪个 build/ 目录中编译你的程序。

如果您对警告感到担心,那么您可能可以在某个地方为 Xcode 指定哪个 build/ 目录来搜索头文件。在您运行 CMake 一次后,这将删除警告。但是,删除这样的警告是不可靠的,因为您总是可以在缺少 TutorialConfig.h 的另一个目录中构建。

希望这可以帮助!

于 2012-05-03T05:01:20.353 回答
1

哦,哈哈。我换#include "src/TutorialConfig.h"#include "TutorialConfig.h",一切都很好。我通过检查项目设置弄清楚了:

万岁!

于 2012-05-03T13:25:52.363 回答