TextMate 2:尝试编译和运行简单的C程序时出错

时间:2012-08-20 03:07:17

标签: c xcode gcc textmate

SETUP

OS X 10.8
Xcode 4.4.1安装
TextMate 2 -r9283

<小时/>

概要

在安装了Xcode 4.4的10.8上的TextMate2中编译并运行一个简单的C程序会给出路径错误,然后是编译器错误,然后是链接器错误。


重播的步骤

  1. 在TextMate2中创建名为test.c的文件并保存到桌面
  2. 将此程序粘贴到test.c文件中:

    #include <stdio.h>

    int main(int argc, char const *argv[]) { printf("Hello World\n"); return 0; }

  3. 运行
  4. 键入command-R

    <小时/>

    预期结果

    stdout从运行程序

    输出

    <小时/>

    实际结果

    TextMate输出面板显示此PATH错误:

    Can't find “gcc” on PATH.
    
    The current PATH is:
    
        /usr/bin
        /bin
        /usr/sbin
        /sbin
        /Users/itod/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/bin
    Please add the directory containing “gcc” to PATH in TextMate's Shell Variables preferences.
    

    然后这个编译错误:

    cc1: error: stdio.h: No such file or directory
    

    然后这个链接器错误:

    ld: library not found for -lcrt1.10.6.o
    collect2: ld returned 1 exit status
    

    <小时/> 如何修复这些错误并在OS X 10.8中的TextMate 2中成功编译和运行C程序?

3 个答案:

答案 0 :(得分:6)

要在OS X 10.8上构建和运行C程序的TextMate 2,您必须在TextMate中修改几个环境变量。

<小时/>

STEPS

  1. 启动TextMate2
  2. 转到偏好设置(⌘,)&gt;变量
  3. 在下表中输入以下名称/值对,并确保所有三对都已“选中”

  4. PATH - $PATH:/Applications/Xcode.app/Contents/Developer/usr/bin/

    C_INCLUDE_PATH - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include/

    LIBRARY_PATH - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/lib/

    enter image description here

答案 1 :(得分:2)

如果您想正确安装/usr/bin/gcc等,请从Apple开发者网站http://developer.apple.com/downloads获取“Xcode命令行工具”(免费下载免费ADC帐户)。它将为所有命令行工具安装/ usr / bin二进制文件 - gcc,ld等。

答案 2 :(得分:0)

正如dajobe提到above

  

如果您想正确安装/ usr / bin / gcc等,请获取“Xcode命令行工具”

这些也可以通过Xcode GUI安装:

偏好设置&gt;下载&gt;组件&gt;命令行工具&gt;安装

enter image description here