gpt4 book ai didi

objective-c - 使用 Cocotron 生成 EXE

转载 作者:行者123 更新时间:2023-12-02 10:41:17 25 4
gpt4 key购买 nike

在广泛寻找可以在 Windows 上编译我的 Obj-C OS X 应用程序的工具后,我终于找到了 .这允许我(在复杂的 installationsetup 之后)将一些build设置和规则添加到我复制的(对于 Windows)Xcode 目标中,然后构建。 最终目标是能够运行我的 OS X 应用程序,交叉编译,然后在 Windows 上运行.问题是,当我构建和运行时,Xcode 只生成一个 APP 文件而不是一个 EXE。 Xcode 甚至不会运行它,因为不支持“架构”:

Xcode Error Message

我尝试将 APP 扩展名重命名为 EXE,但是当我在 Windows 中打开它时,它只会将其识别为文件夹而不是可执行程序。

我觉得我错过了什么。我认为 Cocotron 应该在正确完成后自动生成一个 EXE,我还需要做什么来生成一个 EXE?我认为 cocotron.org 上的文档还有更多内容,但它不完整且难以理解。

如何使用 Cocotron 生成 EXE?

任何事情都值得赞赏,因为官方的 Cocotron 文档很少……甚至是另一个更好的交叉编译器?

编辑 :我下载了 Cocotron 的 TextEditor 示例项目,并完全复制了每个build设置,就像它在 TextEdit 项目中一样(文件路径/名称除外)。完成此操作后,我尝试构建 windows 目标,在 .APP 包中再次没有生成任何 EXE 文件。

编辑 2 :我现在已将所有实现文件添加到 Build Phases -> Compile Sources 部分,但我现在在 Windows 目标中有 130 个构建错误,现在它没有构建(当然,它会生成 130 个构建错误)。 然而 , 奇怪的是 4/5s 的构建错误位于 Header 和 PCH 文件中。 AppDelegate.m 中只有少数几个

我在 H 和 PCH 文件中始终只收到一些不同的错误消息:

  • *:No Such File or Directory FRAMEWORK NAME
  • Expected * 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 下运行。但是要为相当多的条件编译做好准备。自从我使用它以来已经有几个月了。我确信它一直在改善。

    编辑

    我在 Xcode 4.4 下工作的现有项目中有 Cocotron 目标。以下是一些设置,以确保您拥有:

    可执行文件夹路径:
    Executable folder path

    在 File -> Project Settings -> Advanced 下,将构建位置设置为 Legacy:
    build location

    在 Edit Scheme 中,将 Build Configuration 设置为 Release:
    Build Configuration

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

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

    链接到 Cocotron 的 Foundation 和 AppKit 框架:
    link to frameworks

    要运行的构建阶段 retargetBundle :
    retarget bundle

    编译完成后,您应该会看到 build-Windows项目文件夹中的文件夹,其中包含一个包含 .app 包的 Release 文件夹。在该捆绑包中,您应该看到一个 Contents 文件夹,其中包含一个 Windows 文件夹,其中包含 AppKit.1.0.dll、AppKit.framework、Foundation.1.0.dll、Foundation.framework 和 yourApp.exe。

    如果它不起作用,请告诉我们您看到的应用程序的哪些部分以及您没有看到的部分。

    关于objective-c - 使用 Cocotron 生成 EXE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12290191/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com