C++ 带有Xcode的CMake:未找到配置的头文件(.h.in)

C++ 带有Xcode的CMake:未找到配置的头文件(.h.in),c++,xcode,xcode4,cmake,header-files,C++,Xcode,Xcode4,Cmake,Header Files,我正在完成添加版本号和配置的头文件部分。不幸的是,Xcode无法识别生成的头文件: 错误: 头文件由CMake ok生成: 教程配置 // the configured options and settings for Tutorial #define Tutorial_VERSION_MAJOR @Tutorial_VERSION_MAJOR@ #define Tutorial_VERSION_MINOR @Tutorial_VERSION_MINOR@ CMakeLists.txt

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

错误:

头文件由CMake ok生成:

教程配置

// 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)

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

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

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

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

希望这有帮助

哦,哈哈。我将
#include“src/TutorialConfig.h”
更改为
#include“TutorialConfig.h”
,一切正常。我通过查看项目设置找到了答案:

我算出来了<代码>#包括“TutorialConfig.h”而不是
#包括“src/TutorialConfig.h”
。脸掌。我想自己回答,但我要等8个小时才能回答。不过还是要谢谢你!