使用XCode构建,分析,编辑unix \ linux控制台程序

时间:2011-12-11 13:40:53

标签: c linux xcode macos

请您在XCode中为构建,分析和编辑C / C ++ unix / linux控制台程序提供一些指导。

我在这个主题上找不到最新的HOWTO。

似乎对于XCode项目是必须的。所以我用“外部构建系统”创建了新项目,并通过drag'n'drop添加了我的* .c和* .h文件。

但我无法从那里“附加到处理”,因为菜单项是灰色的。

此外,即使结构的定义在同一文件中,代码完成和代码跳转也不起作用。

问题是关于构建/分析/编辑现有的C / C ++程序,而不是创建新程序。

例如,这个人正在使用XCode进行MySQL开发:http://dom.as/2011/09/25/blowing-up-in-memory/

3 个答案:

答案 0 :(得分:11)

对于代码完成,代码跳转等,您需要为该实用程序创建构建目标。多年来我一直在使用Xcode开发CLI实用程序,然后将其移植到其他* nix平台。

以下是创建构建目标的基本说明,该目标允许您在使用实用程序时充分利用Xcode环境:

  1. 创建一个空项目。
  2. 使用“命令行工具”模板添加目标(菜单栏 - >文件 - >新建 - >新目标)。
  3. 删除模板添加的文件(通常是目标名称)。
  4. 将源代码添加到Xcode项目中。
  5. 打开您创建的目标的构建阶段:
    1. 在导航器中单击项目名称。
    2. 从中心面板中选择目标。
    3. 点击“Build Phases”标签。
  6. 在“编译源”下添加了构建实用程序所需的源。
  7. 在“Link Binary With Libraries”下,添加所需的库以链接您的实用程序。
  8. 您可能需要为新目标添加方案,如果是这样的话:

    1. 打开计划管理器(菜单栏 - >产品 - >管理计划)。
    2. 点击“立即自动创建计划”按钮。
    3. 您现在应该能够像使用OS X或iOS应用程序一样使用相同的工具来构建/配置/编辑实用程序。

      以下是我完成上述操作的几个例子:

答案 1 :(得分:1)

Xcode是一个Apple的东西,你没有在Linux上使用它(我不确定在交叉编译器设置中使用它--host是Apple,目标是Linux-是一个工作的好方法,这可能是不可能的。)

在Linux上,你可以使用传统工具(比如Emacs,Make,GCC,...这是Unix人的工作方式),或者你可以尝试一些像IDE这样的anjuta },netbeanseclipse以及许多其他人。

我已经老了,发现IDE对我来说几乎没用,而且我很高兴使用我的混合使用Emacs,Make,GCC,Svn或Git,Gdb等。我知道许多实验Linux开发人员不使用IDE。

答案 2 :(得分:1)

我在学校时使用Xcode编写了许多C和C ++控制台程序。我开始使用Xcode控制台应用程序模板。我依赖于标准的C库和POSIX。我远离Apple特定的库。我可以在Xcode中构建,运行,配置和调试程序。我在Xcode中唯一不能做的就是生成一个可移植的构建配置。对于这些类项目控制台程序,我只需为每个项目编写一个makefile。因为我从一开始就知道我需要一个手写的makefile,所以我保持构建过程简单。

现在我主要编写iOS应用程序,但我偶尔会编写一个控制台应用程序来预处理iOS应用程序的数据。我没有看到用于构建跨平台构建系统的新版Xcode有任何改进。 Xcode专注于iOS和Mac应用程序,但承认对控制台程序的需求,并包括一些Mac OS X特定的支持。

因此,我在Xcode中为其他平台编写控制台程序的建议是保持构建过程简单。从Xcode控制台应用程序项目模板开始。继续使用Xcode项目构建系统。使用Xcode IDE功能使程序工作。然后将构建过程移植到外部构建系统。编写makefile,或使用您喜欢的任何构建工具。使用Mac OS X上的命令行在这个新的构建系统上构建和测试Mac OS X上的程序。然后将项目移动到另一个平台并再次构建和测试。当我到达第二个平台时,我很少发现任何问题。

我甚至使用这种方法在我的团队成员不在Mac上的团队中工作。我们每个人都在构建系统中使用我们自己的选择,共享源代码文件。然而,我可以看到为大型复杂程序维护多个构建系统很快就会变得站不住脚。此时我建议在一个IDE上进行标准化。