不能包含GCC文件

时间:2015-01-29 12:34:59

标签: c gcc build compiler-errors

我正在这个项目中工作,要求我使用一些很久以前编写的软件,现在是开源的,可以在http://www.wotug.org/occam/compilers/oc/oc-src.tar.gz找到。该软件基本上是Occam的编译器。

当我解压缩tar.gz时,我找到了一个包含csh脚本的源文件夹来构建软件。

#!/bin/csh -f
#   
# Quick build script for occam compiler and libraries
#   

# You will need to redefine these
set gccinclude = "/u/products/toolset/release/build/include/gcc"
set inmos_occam = /inmos/prod/d4205a

# These should be ok
set base_dir = $cwd
set path = ($inmos_occam/tools $base_dir/preocc $path)
setenv ISEARCH "$base_dir/libs/ $base_dir/include/ $gccinclude/"

set buildlibs = (arglib extlib tcofflib)
foreach buildlib ($buildlibs)
    echo --- $buildlib
    cd $buildlib
    make -f [Mm]akefile.s4 COMMON=$base_dir GCCINCLUDE=$gccinclude TLIB=
    cd ..
end 
... some other stuff...

我相信这些台词:     设置gccinclude =" / u / products / toolset / release / build / include / gcc"     设置inmos_occam = / inmos / prod / d4205a 指定为编译过程存储.h文件的位置,并且inmos_occam变量告诉我希望存储最终二进制文件的位置,因此我将它们更改为:     设置gccinclude =" / usr / include"     设置inmos_occam = ./bin 问题是,当我运行脚本时,我收到以下错误:

--- arglib
gcc -I./ -nostdinc /usr/include ./arg.c -c -o arg.o -ansi -DSUN4
./arg.c:9:19: fatal error: ctype.h: No such file or directory
#include <ctype.h>
                   ^
compilation terminated.
make: *** [arg.a] Error 1
--- extlib
gcc -c -msoft-float -Wall -ansi -pedantic -nostdinc /usr/include I/home/andres/Documents/T2015-Compiler/src/include -DGNU extconv.c
In file included from /home/andres/Documents/T2015-Compiler/src/include/extlib.h:8:0,
                 from extconv.c:1:
/home/andres/Documents/T2015-Compiler/src/include/imsstd.h:30:19: fatal error: stdio.h: No such file or directory
#include <stdio.h>
....and a lot more....

我不太了解海湾合作委员会,但我认为问题在于这个论点&#39; -nostdinc&#39;告诉编译器不要查看标准包含目录(文件在我的ubuntu系统中),这就是它无法正常工作的原因。但是,我不知道如何覆盖这种行为。我非常感谢帮助,以便我可以编译它,如果您认为这不是问题的原因,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:0)

-nostdinc表示您忽略了标准的包含路径,而我猜测您并不想要。但是我可以看到:

gcc -I./ -nostdinc /usr/include ./arg.c -c -o arg.o -ansi -DSUN4

/usr/include应该与-I/usr/include类似,以便将其包含在包含路径中。

稍后你有

I/home/andres/Documents/T2015-Compiler/src/include

应该是

-I/home/andres/Documents/T2015-Compiler/src/include