[英]A framework header cannot find its own header files in Xcode?
在Xcode中,假設有一個名為Foo
的框架。 在Foo.framework/Headers
文件夾中,有File1.h
和File2.h
文件。 頭文件File1.h
通過以下指令包括File2.h
:
#include <File2.h>
Foo
框架是對C ++庫的重新打包,該庫並非專門針對Mac。
現在假設我有一個鏈接到Foo
框架的項目。 它具有通過以下指令包含File1.h
的文件MyFile.mm
:
#import <Foo/File1.h>
現在,當我嘗試編譯MyFile.mm
,它總是失敗,因為找不到File2.h
。 我如何在不修改Foo
框架的頭文件的情況下進行編譯和運行?
出於好奇,實際的框架是從Max源代碼樹中獲取的Taglib框架包裝版本。 我嘗試包含的文件是<taglib/mp4.tag>
並且由於mp4tag.h
而導致編譯包含該文件的.mm
文件總是失敗,因為mp4tag.h
包含了<tag.h>
而前綴中沒有<taglib/...>
包含指令。 該錯誤不僅存在於此頭文件中,而且在大量頭文件中也存在類似的問題,因此修改所有這些include語句並非易事。 所有必需的“缺失”頭文件實際上都存在於框架的Header
子目錄中。
我試圖在我的應用程序中使用Taglib,盡管我能夠將Taglib作為帶有頭文件的框架進行編譯並將其添加到我的應用程序中,但由於上述問題,我似乎無法使該應用程序進行編譯。
有人有指針嗎?
謝謝。
我認為File1.h
應該說:
#include "File2.h"
嘗試檢查Xcode中的“始終搜索用戶路徑”選項。
以下是修復此問題的步驟:
這應該可以解決該問題,因為框架將使用與使用框架的代碼完全相同的方式來引用文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.