Xcode4 为什么可以';XCode 4在生成过程中是否查找my.h文件?

Xcode4 为什么可以';XCode 4在生成过程中是否查找my.h文件?,xcode4,Xcode4,我有一个无法生成的项目,因为编译器(?)似乎找不到.h文件。我尝试过使用完整路径、相对路径和设置项目搜索路径(标题和用户标题),但似乎没有任何效果。我发现非常奇怪的是,即使是完整路径,它也会给出一个错误:没有这样的文件或目录(该文件确实存在于指定的路径中) 有人能就可能出现的问题提出一些建议吗?我当然会很感激的 进口声明: #import <Foundation/Foundation.h> #import <zxing/common/Counted.h> #import

我有一个无法生成的项目,因为编译器(?)似乎找不到.h文件。我尝试过使用完整路径、相对路径和设置项目搜索路径(标题和用户标题),但似乎没有任何效果。我发现非常奇怪的是,即使是完整路径,它也会给出一个错误:没有这样的文件或目录(该文件确实存在于指定的路径中)

有人能就可能出现的问题提出一些建议吗?我当然会很感激的

进口声明:

#import <Foundation/Foundation.h>
#import <zxing/common/Counted.h>
#import <zxing/Result.h>
#import <zxing/BinaryBitmap.h>
#import <zxing/Reader.h>
#import <zxing/ResultPointCallback.h>
标题搜索路径为:

$(inherited)
"$(SRCROOT)/zxing/common"

包含文件的完整路径:

/Users/rolfmarsh/iPhoneCodeLibrary/BarcodeLibrary/zxing-1.6/cpp/core/src/zxing/Result.h
需要检查的内容:
-文件权限

-您可以使用xcodebuild从命令行生成吗

我对ZXing的依赖性也感到相当痛苦。这里有一些技巧,希望能对其他有类似问题的人有所帮助

此行执行导入操作:

#导入

要让编译器查找
Counted.h
,必须指定头搜索路径

现在,由于
import
语句将查找相对于两个子文件夹
zxing/common
Counted.h
,因此我们需要为它指定
zxing
的父文件夹

在这种情况下,父文件夹将类似于:

/。。我在这里的完整路径../cpp/core/src/

因此,在
src
目录下可以找到
zxing

我们如何在Xcode中配置它?最好是相对的。否则,项目将在其他用户的计算机上失败

为此,我们指定一个相对于项目目录的路径。详情如下:

$(项目目录)/../cpp/core/src

这将进入ZXingWidget目标的构建设置的标题搜索路径

这个头路径的关键是指定要从中搜索的相对目录。在本例中,我们指定相对于
$(PROJECT\u DIR)
的搜索。该变量指定子项目
ZXingWidget
的目录

其他注意事项。请注意在目标的生成设置中指定这些。如果在项目级别执行此操作,则仍然需要使用
$(继承)
变量在目标级别指定它

另外,不要忘记构建转录本可能非常有用。查看
-I
标志中包含的头路径


作为一种常规调试技术,我喜欢在设置中指定绝对路径。这提供了一个干净的构建,我知道这些文件可以包括在内,而且它们肯定在哪里。完成后,我使用
$(PROJECT_DIR)
指定一个相对路径。

我发布这篇文章是为了让像我这样的新手在他们的项目中集成zxing qr reader变得简单,并结束与zxing集成相关的几个线程

一,。 最重要的是,绝对要确保你有最新的版本

[到现在,1月18日,你将不再有关于zxing/common/文件夹的问题。最简单的解决方法是:获取最新代码!]

二,。 转到zxing->iphone->zxing小部件

拖动ZXingWidget.xcodeproj文件并将其放到Xcode项目的“组和文件”侧栏的根目录下

[您现在应该在那里列出ZXingWidget.xcodeproj,它必须下拉并列出其内容]

三,。 在同一位置的“项目导航器”中,选择:

您的项目文件->目标->您的项目名称->构建阶段->将二进制文件链接到库

您应该找到一个名为“Workspace”的文件夹。从内部添加“libZXingWidget.a”

四,。 仍处于构建阶段,请扩展目标依赖项并添加ZXingWidget

五,。 选择生成设置并搜索标题搜索路径。 您需要向标题搜索路径添加2条记录。您不需要将值与用户标题搜索路径相关联。您可以通过双击右侧的列来实现这一点。一扇小的落地窗将打开。使用+按钮添加第一条记录。加:

../zxing/iphone/ZXingWidget/Classes

现在使用+按钮添加第二条记录。加:

../zxing/cpp/core/src

这些是我使用的值。这些值之所以有效,是因为我使用同一个文件夹来承载我的项目和zxing文件夹

[如果您决定使用不同的文件结构,请确保正确引用您的文件夹。]

六,。 返回构建阶段并添加以下所需的ios框架:

AVF基金会

音频工具箱

核心视频

核心媒体

利比孔夫

通讯录

AddressBookUI

七,

创建一组文件(.h&.m),并将其扩展名.m更改为.mm

八,。 通过在先前创建的文件中包含以下内容来测试集成:

#import <ZXingWidgetController.h>
#import <QRCodeReader.h>
#导入
#进口

此时,只有在未运行最新版本的情况下,您才会遇到丢失的文件。希望这能有所帮助。

我浏览了很多关于如何解决这个问题的博客文章。这个对我很有帮助

问题是没有正确定义标题搜索路径。 所以我

1) 下载zxing 2.1

2) 我从下载中复制了:iphone、cpp、objc和readme,并粘贴在一个名为“zxing”的文件夹中

3) 我将新文件夹“zxing”添加到我的项目(在mac上),而不是xcode应用程序

4) 从创建的文件夹zxing中,我将zxingwidget.xproje拖到我的xcode项目中

5) 我遵循了你在所有博客中找到的所有步骤

解决此问题的关键

6) 我按照以下步骤查找xcode错误

7) 针对头路径文件错误,我遵循了以下步骤

重要提示:我必须按照步骤7)执行两次,我必须选择项目目标并分配标题路径,我必须选择项目并分配标题路径。

8) 构建zxingwidget项目
/Users/rolfmarsh/iPhoneCodeLibrary/BarcodeLibrary/zxing-1.6/cpp/core/src/zxing/Result.h
#import <ZXingWidgetController.h>
#import <QRCodeReader.h>