1 遇到的问题和解决方法
1.1 安装java的SDK还是jre?
我也是第一次安装和使用eclipse作为开发环境开发c,c++的项目,所以安装之前也会google很多的资料。google上有人是用SDK安装的,有人是用jre,即运行时库。到底用哪个?都可以吗?
应该都可以。我安装的是jre-6u16-linux-i586-rpm.bin 。
1.2 collection2错误
依次安装jre,eclipse,CDT之后,新建一个c或者c++的工程,build的时候都会提示 Collect2:can not find 'ld' ,collection2错误,找不到ld 。我也不知道collection2和ld为何物,估计是和gcc编译以及g++连接有关的一个工具吧。
解决,gcc -o updateclient ./updateclient.o在终端上运行一切正常,ld也正常,就是用eclipse
后就无法正常使用ld功能,有个老外回答说这个是某些版本gcc的bug,他说PATH中如果有"."
则忽略PATH中的其他路径,只在当前目录下查找ld, 输入echo $PATH发现并无"."而且ld所在的目录/usr/bin也在PATH中
调试Eclipse生成的makefile文件,在终端上make后也能正常编译出来
后来把目标定在了Collect2上,gcc的后续版本都在使用Collect2,Collect2间接调用的ld起到链接器的作用
使用gcc -v updateclient.c可以查看到Collect2的目录,找到目录后发现Collect2是一个可执行文件,怀疑Colect2
运行后无法找到ld目录,于是拷贝/usr/bin/ld 到Collect2目录下,重新用Eclipse编译工程,问题解决.
阅读(1255) | 评论(0) | 转发(0) |