2013-05-04 121 views
0

我制作了一个Xcode(版本4.6.2)C++命令行项目,我想将其导出以将其分发到其他mac上。最好,我想我的出口是在.app格式,但我还没有想出如何做到这一点呢。我设法让项目的可执行文件在我的Mac上运行,但在我的笔记本电脑上试用时无法运行。有人有解决方案吗?Mac独立Xcode C++命令行项目

回答

2

如果它是一个命令行程序,那么您不希望将它作为应用程序包分发,因为这些很难从命令行调用,并且至少需要一点点Obj-C。您可能希望将其作为安装程序包进行分发。

如果一台机器上运行的二进制而不是另一个,那么最有可能的罪魁祸首要么是一个共享库,或生成不能在所有机器上运行代码的编译器设置的不匹配。您的问题目前不提供足够的信息来诊断此问题。

-1

我建议你使用dmg导出你的工具。它是一种标准技术。您可以使用hdiutil实用程序与您的实用程序创建dmg。请参阅man hdiutil。这里some examples
如果要使用单独的应用程序,将你的程序复制到一些地方在目标机器上 - 那么你应该在项目中创建(应用程序)的另一个目标 - 安装应用程序。使您的安装应用程序依赖于您的实用程序(首先构建实用程序)。比你的安装应用程序应该复制实用程序到它的包。应该有一些简单的代码来复制文件。
但是,如果你想将项目导出到目标机器,然后在那里建立它 - 这是一个坏主意。您应该只导出可执行文件。

现在关于可执行文件。要正确构建它,您应该设置正确的构建设置:体系结构,SDK,目标操作系统等。为了帮助您解决问题,我们需要知道例如您的笔记本电脑上可执行文件失败的错误,Mac和您的操作系统版本笔记本电脑等。通常问题在于错误的架构和库依赖性。

+0

我创建DMG文件,并把我的可执行文件中,并把它交给我的笔记本电脑,并得到了在命令行下面的错误:“illigal指令注销”。任何想法这可能意味着什么? – 2013-05-08 01:24:29

+0

不能说具体的东西,看起来像代码中的错误(缓冲区溢出或其他)。尝试谷歌错误:有这样的问题已经。没有dmg你有这样的错误吗? – cody 2013-05-08 18:30:22