使用GCC包含文件时编译失败

时间:2015-02-25 06:35:40

标签: c macos gcc compilation include

我正在尝试使用gcc编译程序,但我一直收到一个错误,它无法找到我指定要包含的文件。 我的代码(我试图做的简化版本突出了这个问题):

#include <gtk/gtk.h>
int main(int argc, char *argv[]) {

}

我正在用gcc编译,使用:

gcc test.c -I~/gtk/inst/include/gtk-2.0

给了我

test.c:1:21: error: gtk/gtk.h: No such file or directory

然而,

ls ~/gtk/inst/include/gtk-2.0/gtk | grep gtk.h

返回

gtk.h
gtkcheckbutton.h
gtkcheckmenuitem.h
gtkshow.h

所以我不确定我搞砸了哪里。 我的操作系统是Mac OSX 10.8.5,GCC是4.2.1版本。

1 个答案:

答案 0 :(得分:1)

你应该:

  1. 在代字号前面放一个空格:
  2.   

    -I~ / gtk / inst / include / gtk-2.0

    1. 使用绝对路径:
    2.   

      -I /users/username/gtk/inst/include/gtk-2.0

      1. 或使用$HOME
      2.   

        -I $ HOME / gtk / inst / include / gtk-2.0

        如果~是单词中第一个不带引号的字符,则Shell仅会进行波形扩展。你现在的方式,shell不知道这是试图指向用户主目录。