Ios 当未找到头文件时,我应该在头文件路径中键入什么?

Ios 当未找到头文件时,我应该在头文件路径中键入什么?,ios,objective-c,xcode,Ios,Objective C,Xcode,我正在Objective-C上开发,我的应用程序运行在我的iPhone 5C上。但是,当我在Xcode中运行存档时,它显示“未找到头文件”-请参见下图: 具体来说,当我运行归档时,它显示在AITPreviewViewController.m中未找到MobileVLCKit/VLCMediaPlayer.h文件,但MobileVLCKit/VLCMediaPlayer.h在项目MobileVLCKit中。我如何解决这个问题 --------------编辑------------------ 我

我正在Objective-C上开发,我的应用程序运行在我的iPhone 5C上。但是,当我在Xcode中运行存档时,它显示“未找到头文件”-请参见下图:

具体来说,当我运行归档时,它显示在
AITPreviewViewController.m
中未找到
MobileVLCKit/VLCMediaPlayer.h文件,但
MobileVLCKit/VLCMediaPlayer.h
在项目MobileVLCKit中。我如何解决这个问题

--------------编辑------------------

我的项目文件夹如下所示:

VLC的头文件位于导入的源文件中

在项目-->生成设置-->标题搜索路径中

确保所有生成配置的搜索路径相同

我认为,与调试配置不同,您用于归档的配置(很可能是发行版)没有列出头搜索路径

编辑: 在Xcode生成设置中,您有:

  • 库搜索路径
  • 标题搜索路径
  • 框架搜索路径
这些路径中的每一条都告诉编译器在文件夹结构中查找您正在使用的第三方库/框架/头的位置

如果您总是在自己的机器(apk)上构建它,那么按照您在注释中添加的方式硬编码完整路径并不是问题

但是,最好使用$(SRCROOT)/您的_path_to_头,其中$(SRCROOT)将填充到项目文件夹的路径。如果您使用的是不同的构建机器,或者某个团队正在处理此项目,那么这是必须的

在您的情况下,应该键入($SRCROOT)/ImportedSources/VLCKit/‌​双击或输入新搜索路径时的标题

另外,在Xcode中,当您右键单击头文件并单击“显示文件检查器”(通常您会在右侧看到)时,请确保生成的库/框架/头搜索路径与“完整路径”相同。

如@nitin所建议

项目-->生成设置-->标题搜索路径中

尝试添加您的库路径您可以尝试的路径

$(SRCROOT)/yourlibpath
若上述方法不起作用,您还可以检查递归选项

因为我可以看到库已经作为项目添加,所以必须有一些
目标依赖项
,或者要添加的库

转到->构建阶段 单击
添加目标相关性
将二进制文件链接到库选项中添加库

我还建议一定有一些
自述文件
用于设置库,您一定错过了一些东西

更新

如果没有,请参阅构建库的一些步骤

更新2

另外,在
生成设置中
是设置为
始终搜索用户路径
,并确保
用户头路径
指向框架

$(SRCROOT)/yourlibpath

只需将文件拖放到您的库路径。

请检查以下步骤进行修复:

1.将下载的MobileVLCKit.framework文件复制到项目根文件夹中

2.转到项目的目标构建设置->标题搜索路径添加以下行(也添加引号)

3.构建设置->框架搜索路径(也添加引号)

4.构建设置->其他链接器标志添加以下行

-l"bz2" 
-l"iconv" 
-framework 
"MobileVLCKit"
5.一般->链接框架和库通过单击+图标添加以下库

libstdc++.6.tbd
6.如果您使用的是
Swift
,最重要的是通过包含以下行来添加对桥接头.h的引用

#import "MobileVLCKit/MobileVLCKit.h"
通过键入
VLCMediaPlayerDelegate
进行测试,查看是否自动完成。如果是这样的话,就把别人指在这里帮助他们,否则就回头看看你错过了什么


希望对您有所帮助。

我已经在
构建设置中找到了
标题搜索路径
。但是如何键入头文件的路径呢?它是否像
MobileVLCKit/Internal/VLCMediaPlayer.h
?标题搜索路径的值是什么?我将
/Users/apk/Desktop/codetek/temp/qq/WiFiCameraViewer-iOS/ImportedSources/VLCKit/Headers
设置为
用户标题搜索路径
。对不起……我不明白
你的libpath
是什么意思?我尝试了
$(SRCROOT)/MobileVLCKit/Internal
…但没有成功。我在
目标依赖项
添加库
中找不到任何库。你能帮我吗?我想你不需要添加
内部
,放到根
MobileVLCKit
。请检查它是否正指向源
yourlibpath
表示您正在尝试做的事情。。但是,我检查您是否需要从实际源代码构建库,请检查
HOW-to
,这里我看到了HOW-to。当我打开我的
WifiCameraViewer
项目时,它也会打开
MobileVLCKit
。它在
IOS设备上运行良好
,但当我使用
存档
时,它无法完善头文件。你的意思是我必须从
HOW-to
构建
,并在
WifiCameraViewer
中添加库以构建阶段。我已将“是”设置为始终搜索用户路径。我想我的主要问题是我不知道应该键入头文件的路径。我在上面加了一张照片。我将
/Users/apk/Desktop/codetek/temp/qq/WiFiCameraViewer iOS/ImportedSources/VLCKit/Headers
设置为
用户标题搜索路径
。但它不起作用…您可以始终遍历路径,如$(SRCROOT)/../ImportedSources/VLCKit/*.*我的项目中的
$(SRCROOT)/yourlibpath
位于
WiFiCameraViewer
下。但是头文件位于
MobileVLCKit
libstdc++.6.tbd
#import "MobileVLCKit/MobileVLCKit.h"