将 Sketchup 8 API 替换为与 2013 SDK 捆绑在一起的已弃用版本 - 未在 XCode 中构建



我们有一个项目,我们使用SketchUp 8c++ API从SketchUp文件中提取信息。一位SketchUp团队成员告诉我们,与SketchUp 2013 SDK捆绑在一起的已弃用的c++框架可以使用已弃用的c++ API来读取SKP 2013文件。这不是开箱即用的,也不清楚我做错了什么。我把我的问题贴在stackoverflow上,以防它对其他人有用。

我正在使用XCode 3.2.2构建我的项目,在Mountain Lion上,构建到OS 10.5 i386的基本SDK。

我删除了XCode项目的SketchUp.framework和SketchUpReader.framework,并添加了SKP 2013 SDK的deprecated/SkpReader/Binaries/Mac/文件夹中包含的那些。执行"清除所有目标"和构建会产生数千个错误。一些例子:

.../SketchUpReader.framework/Headers/Variant.h:79: error: multiple definition of 'enum VARENUM'

.../SketchUpReader.framework/Headers/windef.h:217: error: variable or field 'Sleep' declared void
.../SketchUpReader.framework/Headers/comptr.h:17: error: redefinition of 'class _NoAddRefReleaseOnCComPtr<T>'

大多数错误都是这种形式——某些东西有先前的定义。

我的第一个想法是,它仍然包括旧版本的c++框架,从某个地方,新的和旧的是冲突的,但我没有看到任何其他参考sketchup框架在Xcode项目的框架列表,或在/Library/frameworks。

我不是非常精通构建c++项目或使用XCode,所以这可能是一个天真的问题,但如果有人知道这里发生了什么,我将感激一些指导。

经过一番研究,我们发现了SketchUpReader中弃用框架的问题所在,并正在研究解决方案。当我们更新SDK时,我会再次发布——应该不会太久。

感谢您的耐心等待!

保罗

感谢您的耐心等待。我们刚刚发布了一个新的SDK,可以解决已弃用的SketchUpReader.framework的构建问题。你可以到这里获取更新:http://www.sketchup.com/intl/en/developer/sdk_start.html。现在在弃用的SDK中有一个新的样例项目SkpStats,它与展示如何使用它的框架相链接。

我希望现在一切都好了,但是如果你有任何关于新版本的问题,请告诉我。

保罗

最新更新