当尝试C
在 SCO 中编译我的程序时(使用gcc
),我不断收到此错误。
我在谷歌上查看了一下,发现了另一个论坛:Linux问题,那家伙和我遇到了完全相同的问题。所以我尝试了他的解决方案,即在文件顶部添加一行program.c
:
#include "err.h"
我再次尝试编译,现在我得到一行:
program.c:5: err.h: No such file or directory
- 我需要添加/安装才能获取该文件吗?
- 该文件将位于我的文件系统中的什么位置?
提前致谢。
编辑
vi hello.c
:
/* Hello World program */
#include<stdio.h>
main()
{
printf("Hello World");
}
gcc -v hello.c
:
Reading specs from /usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/specs
gcc version 2.95.2 19991024 (release)
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/cpp -lang-c -v -D__GNUC__=2 -D__GNUC_MINOR__=95 -Asystem(svr3) -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -D__i386 -D__unix -D_SCO_DS=1 -D_M_I386 -D_M_XENIX -D_M_UNIX -D_STRICT_NAMES -D_SCO_XPG_VERS=4 -D_M_I86 -D_M_I86SM -D_M_INTERNAT -D_M_SDATA -D_M_STEXT -D_M_BITFIELDS -D_M_SYS5 -D_M_SYSV -D_M_SYSIII -D_M_WORDSWAP -Dunix -DM_I386 -DM_UNIX -DM_XENIX -D_SCO_ELF -D_SCO_C_DIALECT=1 hello.c /usr/tmp/cc1HX7yg.i
GNU CPP version 2.95.2 19991024 (release) (i386, SCO OpenServer 5 Syntax)
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/../../../../i386-pc-sco3.2v5.0.5/include
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/include
/usr/include
End of search list.
The following default directories have been omitted from the search path:
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/../../../../include/g++-3
End of omitted list.
/usr/local/lib/gcc-lib/i386-pc-sco3.2v5.0.5/2.95.2/cc1 /usr/tmp/cc1HX7yg.i -quiet -dumpbase hello.c -version -o /usr/tmp/cc4HAEHq.s
GNU C version 2.95.2 19991024 (release) (i386-pc-sco3.2v5.0.5) compiled by GNU C version 2.95.2 19991024 (release).
In file included from hello.c:3:
/usr/include/stdio.h:140: parse error before `__gnuc_va_list'
/usr/include/stdio.h:140: parse error before `__gnuc_va_list'
/usr/include/stdio.h:140: parse error before `__gnuc_va_list'
答案1
在C/C++
你有#include ""
and#include <>
时,当你使用""
它意味着你向编译器引入你的头文件,所以你需要-I
在编译时如:
gcc -I. -I../Includes program.c
-I
获取一个参数作为包含文件的路径,当您使用stdio
或 时stdlib
,它们默认安装在gcc
路径中并引入到您的gcc
.