如果这个问题没有得到很好的表达,我会提前感到抱歉,我正在尝试为我做一些新鲜事,我有点失落。
我想在Objective-C包装器中包含一个Canon SDK,我从这一段了解到我需要下载64位SDK:
为了在项目中使用EOSFramework,需要采取一些步骤。首先,确保您已下载最新的佳能EDSDK 64位。 EOSFramework目前依赖于ARC,它仅支持64位。因此,您必须使用64位版本的EDSDK。还要确保已将最新版本的EOSFramework编译或下载为.framework文件。
顺便说一下,按照说明操作后,我在构建框架时遇到的错误与64位有关。请参见附图:
有人能为我指出一个解决这个问题的方法吗?
答案 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