- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在广泛寻找可以在 Windows 上编译我的 Obj-C OS X 应用程序的工具后,我终于找到了 cocotron .这允许我(在复杂的 installation 和 setup 之后)将一些build设置和规则添加到我复制的(对于 Windows)Xcode 目标中,然后构建。 最终目标是能够运行我的 OS X 应用程序,交叉编译,然后在 Windows 上运行.问题是,当我构建和运行时,Xcode 只生成一个 APP 文件而不是一个 EXE。 Xcode 甚至不会运行它,因为不支持“架构”:
我尝试将 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...
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 目标。以下是一些设置,以确保您拥有:
可执行文件夹路径:
在 File -> Project Settings -> Advanced 下,将构建位置设置为 Legacy:
在 Edit Scheme 中,将 Build Configuration 设置为 Release:
构建产品路径(我的设置为 build-Windows):
使用 Cocotron 编译器处理 C 文件的构建规则:
链接到 Cocotron 的 Foundation 和 AppKit 框架:
要运行的构建阶段 retargetBundle
:
编译完成后,您应该会看到 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/
我遵循了一本名为“Sitepoint Full Stack Javascript with MEAN”的书中的教程,我刚刚完成了第 6 章,应该已经创建了一个带有“数据库”的“服务器”。数据库只不过是
在 Jquery 中,我创建两个数组,一个嵌入另一个数组,就像这样...... arrayOne = [{name:'a',value:1}, {name:'b',value:2}] var arra
这个问题在这里已经有了答案: What is the explanation for these bizarre JavaScript behaviours mentioned in the 'Wa
我被放在别人的代码上,有一个类用作其他组件的基础。当我尝试 ng serve --aot(或 build --prod)时,我得到以下信息。 @Component({ ...,
我正在测试一些代码,并使用数据创建了一个 json 文件。 问题是我在警报中收到“[object Object],[object Object]”。没有数据。 我做错了什么? 这是代码:
我想打印 [object Object],[object Object] 以明智地 "[[{ 'x': '1', 'y': '0' }, { 'x': '2', 'y': '1' }]]"; 在 ja
我有一个功能 View ,我正在尝试以特殊格式的方式输出。但我无法让列表功能正常工作。 我得到的唯一返回是[object Object][object Object] [object Object]
在使用优秀的 Sim.js 和 Three.js 库处理 WebGL 项目时,我偶然发现了下一个问题: 一路走来,它使用了 THREE.Ray 的下一个构造函数: var ray = new THRE
我正在使用 Material UI 进行多重选择。这是我的代码。 {listStates.map(col => (
我的代码使用ajax: $("#keyword").keyup(function() { var keyword = $("#keyword").val(); if (keyword.
我遇到了下一个错误,无法理解如何解决它。 Can't resolve all parameters for AuthenticationService: ([object Object], ?, [o
我正在尝试创建一个显示动态复选框的表单,至少应选中其中一个才能继续。我还需要获取一组选中的复选框。 这是组件的代码: import { Component, OnInit } from '@angul
我正在开发 NodeJs 应用程序,它是博客应用程序。我使用了快速验证器,我尝试在 UI 端使用快速闪存消息将帖子保存在数据库中之前使用闪存消息验证数据,我成功地将数据保存在数据库中,但在提交表单后消
我知道有些人问了同样的问题并得到了解答。我已经查看了所有这些,但仍然无法解决我的问题。我有一个 jquery snipet,它将值发送到处理程序,处理程序处理来自 JS 的值并将数据作为 JSON 数
我继承了一个非常草率的项目,我的任务是解释为什么它不好。我注意到他们在整个代码中都进行了这样的比较 (IQueryable).FirstOrDefault(x => x.Facility == fac
我只是在删除数组中的对象时偶然发现了这一点。 代码如下: friends = []; friends.push( { a: 'Nexus', b: 'Muffi
这两个代码片段有什么区别: object = nil; [object release] 对比 [object release]; object = nil; 哪个是最佳实践? 最佳答案 object
我应该为其他人将从中继承的第一个父对象传递哪个参数,哪个参数更有效 Object.create(Object.prototype) Object.create(Object) Object.creat
我在不同的对象上安排不同的选择器 [self performSelector:@selector(doSmth) withObject:objectA afterDelay:1]; [self per
NSLog(@"%p", &object); 和 NSLog(@"%p", object); 有什么区别? 两者似乎都打印出一个内存地址,但我不确定哪个是对象的实际内存地址。 最佳答案 这就是我喜欢的
我是一名优秀的程序员,十分优秀!