Sam*_*cer 2 compiler-errors objective-c cross-compiling cocotron
在广泛寻找可以在 Windows 上编译 Obj-C OS X 应用程序的工具后,我终于找到了cocotron。这允许我(在复杂的安装和设置之后)向我复制的(对于 Windows)Xcode 目标添加一些构建设置和规则,然后进行构建。最终目标是能够运行我的 OS X 应用程序、交叉编译,然后在 Windows 上运行。问题是,当我构建和运行时,Xcode 只生成 APP 文件而不是 EXE。Xcode 甚至不会运行它,因为不支持“架构”:
我尝试将 APP 扩展名重命名为 EXE,但是当我在 Windows 中打开它时,它只是将其识别为文件夹而不是可执行程序。
我觉得我失去了一些东西。我认为 Cocotron 正确完成后应该会自动生成 EXE,我还需要做什么才能生成 EXE?我认为 cocotron.org 上的文档还有更多内容,但不完整且难以理解。
如何使用 Cocotron 生成 EXE?
任何事情都值得赞赏,因为官方 Cocotron 文档很少......甚至还有另一个更好的交叉编译器?
编辑:我下载了 Cocotron 的 TextEditor 示例项目,并完全复制了 TextEdit 项目中的每个构建设置(文件路径/名称除外)。执行此操作后,我尝试构建 Windows 目标,但 .APP 包中再次没有生成 EXE 文件。
编辑 2:我现在已将所有实现文件添加到“构建阶段”->“编译源”部分,但现在 Windows 目标中有 130 个构建错误,现在它不会构建(当然,它会生成 130 个构建错误) 。然而,奇怪的是 4/5 的构建错误位于头文件和 PCH 文件中。AppDelegate.m 中只有少数
我在 H 和 PCH 文件中始终只收到一些不同的错误消息:
*:No Such File or Directory FRAMEWORK NAMEExpected * before *Cocotron 1.0 Windows i386 gcc default (4.3.1) Error...其中一些出现在 AppDelegate.M 中,此外还有:
Undeclared (First Use in this function).exe 隐藏在 .app 文件中。它全部位于 .app 文件夹中,因为它模仿 OS X 程序的结构。打开 .app 文件夹并在 Contents/Windows 中查找。如果您的项目构建正确,则 .exe 文件将在那里。
不必费心尝试从 Xcode 或 OS X 下以任何其他方式运行它,它是一个 Windows 程序。
是的,Cocotron 的文档还有很多不足之处。尽管存在困难和限制,但我还没有找到更好的方法来编译 Cocoa 程序以在 Windows 下运行。但要做好大量条件编译的准备。自从我使用它以来已经好几个月了。我确信它一直在进步。
编辑
我的现有项目中有 Cocotron 目标,在 Xcode 4.4 下工作。以下是一些设置,以确保您拥有:
可执行文件夹路径:

在文件 -> 项目设置 -> 高级下,将构建位置设置为旧版:

在编辑方案中,将构建配置设置为发布:

构建产品路径(我的设置为 build-Windows):

使用 Cocotron 编译器处理 C 文件的构建规则:

Cocotron 的 Foundation 和 AppKit 框架的链接:

要运行的构建阶段retargetBundle:

完成所有这些的编译后,您应该会build-Windows在项目文件夹中看到一个文件夹,其中包含一个 Release 文件夹,其中包含一个 .app 包。在该捆绑包中,您应该看到一个 Contents 文件夹,其中包含一个 Windows 文件夹,其中包含 AppKit.1.0.dll、AppKit.framework、Foundation.1.0.dll、Foundation.framework 和yourApp .exe。
如果它不起作用,请告诉我们您看到了应用程序的哪些部分,没有看到哪些部分。
| 归档时间: |
|
| 查看次数: |
1566 次 |
| 最近记录: |