簡體   English   中英

使用Xcode進行CMake:找不到已配置的頭文件(.h.in)

[英]CMake with Xcode: configured header file (.h.in) not found

我正在完成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)

這是我正在使用的教程。

我不使用Xcode,而是使用基於Linux的另一個IDE。 但也許我可以幫助你一點。 我只是想知道 - 你的程序是否編譯? 這可能更重要。

我的IDE經常抱怨你的頭文件 - 也就是CMake生成的配置文件。 這樣的警告(至少對我而言)可以忽略不計。 我經常這樣做,因為我的構建/目錄有時是空的。 所以當我打開源文件時,還沒有TutorialConfig.h。

實際上,IDE永遠不會知道這樣的頭文件。 那是因為它不知道你要編譯程序的構建/目錄。

如果您對警告感到擔心,那么可能有一個地方可以指定Xcode哪個構建/目錄來搜索頭文件。 在你運行一次CMake之后,這將刪除警告。 但是,刪除此類警告是不可靠的,因為您始終可以構建另一個缺少TutorialConfig.h的目錄。

希望這可以幫助!

哦,哈哈。 我將#include "src/TutorialConfig.h"改為#include "TutorialConfig.h" ,一切都很順利。 我通過檢查項目設置找出了它:

萬歲!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM