使用64位SDK

时间:2016-08-05 14:59:40

标签: objective-c xcode cocoa 64-bit canon-sdk

如果这个问题没有得到很好的表达,我会提前感到抱歉,我正在尝试为我做一些新鲜事,我有点失落。

我想在Objective-C包装器中包含一个Canon SDK,我从这一段了解到我需要下载64位SDK:

  

为了在项目中使用EOSFramework,需要采取一些步骤。首先,确保您已下载最新的佳能EDSDK 64位。 EOSFramework目前依赖于ARC,它仅支持64位。因此,您必须使用64位版本的EDSDK。还要确保已将最新版本的EOSFramework编译或下载为.framework文件。

顺便说一下,按照说明操作后,我在构建框架时遇到的错误与64位有关。请参见附图:

Errors

有人能为我指出一个解决这个问题的方法吗?

2 个答案:

答案 0 :(得分:0)

我不确定从长远来看这是否会带来问题,但我在这篇文章中找到了答案:_int64 does not name a type

接下来:

  

看起来您正在尝试使用GCC特定于MSVC的__int64类型。这不起作用,反而使用很长时间。

答案 1 :(得分:0)

  

有人能为我指出一个解决这个问题的方法吗?

您需要在已下载的SDK中追踪EdsUInt64 的声明,并找出编译源代码时编译器未查看的原因所示。

尝试右键单击EdsUInt32(编译器很满意)并跳转到其定义。现在环顾四周,是否在同一个地方定义了64位类型?它们在#if构造内吗?如果是这样,为什么条件不正确?等等做一些侦探工作。

您还可以使用TextWrangler / BBEdit或其他优秀的编辑器对所有SDK源进行快速多文件搜索,以查找定义。

如果您找不到这些定义,那么您的其中一个SDK的版本错误,请返回佳能并获取正确的版本。

解决方案不太可能是您需要自己定义类型。 ARC评论特别表明你有Mac特定的源代码,佳能在Mac上编译它,所以它不太可能是在Mac上失败的MS或Gnu特定问题。

好狩猎!

HTH