错误,gcc: installation problem, cannot exec 'cc1obj'
新手刚弄 GCC,用 Eclipse CDT 来编译,我碰到了这个错误。
错误:gcc: installation problem, cannot exec 'cc1obj': No such file or directory
安装了 GNUstep 和 cygwin,在弄个 hello world 然后用手工命令行去跟 gcc,是可以把一个 object C 源文件编译链接完成的,但我现在把这个放到一个 makefile,然后在 CDT 里面创建一个 makefile C 项目来跑这个 makefile,它却提示 cc1obj 找不到。我看了 PATH 变量,好像没问题,因为我直接用 cmd.exe 去跑这个 gcc 命令行是可以的,我用 make.exe -f makefile all 去跑也是正常的,这个 cc1obj 明明在正确的位置,这到底是什么环境/配置参数有问题呢?
另外,我看到我在 makefile 里面添加的 set 命令的输入很奇怪,里面的 E:\ 之类的盘符都被替换成了 /cygwin/e/ 之类的。对比一下,我在 cmd 里面 make -f 来跑时,我看到的输入就没有 /cygwin/e 而是 windows 的 E:\。而我在 Process Explorer 进程管理器中查看我在 Eclipse CDT 里面右击 Build Project 时,后台出现的进程好像多了一个 sh.exe 调用层,是不是这个东西要求额外的设置?那个 sh.exe 难道要我把源码放到 /GNUstep/msys/1.0/bin/home/Administrator 下去?我用的 Eclipse 源码放到 msys 的 home 下面不方便啊。
之前我创建的 Managed C 项目,自动编译,但发现对于 ObjectC 的源文件,它老出语法错误,也不知道哪设置的问题,所以后来改成手工的 Makefile C 项目。
哪们大侠用 Eclipse CDT 很熟练的,给个用 Eclipse CDT 编译 Object C 的环境配置指导。
makefile 内容:
==================================
# All Target
all: ObjectC.exe
# Tool invocations
ObjectC.exe:
@echo print environment
set
pwd
@echo 'Building target: $@'
@echo 'Invoking: Cygwin C Linker'
gcc -o Debug/ObjectC src/ObjectC.m -fconstant-string-class=NSConstantString -ID:/DevEnv/CppEnv/GNUstep/GNUstep/System/Library/Headers -LD:/DevEnv/CppEnv/GNUstep/GNUstep/System/Library/Libraries -lobjc -lgnustep-base
@echo 'Finished building target: $@'
@echo ' '
# Other Targets
clean:
-${RM} Debug/ObjectC.exe
-@echo ' '