使用 GCC 包含文件时编译失败
Compile failure when including files with GCC
我正在尝试用 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
returns
gtk.h
gtkcheckbutton.h
gtkcheckmenuitem.h
gtkshow.h
所以我不确定我哪里搞砸了。
我的OS是MacOSX 10.8.5,GCC是4.2.1版本。
您应该:
- 在波浪号前加一个space:
-I ~/gtk/inst/include/gtk-2.0
- 使用绝对路径:
-I /users/username/gtk/inst/include/gtk-2.0
- 或使用
$HOME
:
-I $HOME/gtk/inst/include/gtk-2.0
Shell 仅当 ~
是单词中的第一个非引号字符时才进行波浪号扩展。你现在得到它的方式,shell 不知道这是试图指向用户主目录。
我正在尝试用 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
returns
gtk.h
gtkcheckbutton.h
gtkcheckmenuitem.h
gtkshow.h
所以我不确定我哪里搞砸了。 我的OS是MacOSX 10.8.5,GCC是4.2.1版本。
您应该:
- 在波浪号前加一个space:
-I ~/gtk/inst/include/gtk-2.0
- 使用绝对路径:
-I /users/username/gtk/inst/include/gtk-2.0
- 或使用
$HOME
:
-I $HOME/gtk/inst/include/gtk-2.0
Shell 仅当 ~
是单词中的第一个非引号字符时才进行波浪号扩展。你现在得到它的方式,shell 不知道这是试图指向用户主目录。