当前位置: 技术问答>linux和unix
菜鸟紧急求助, 关于编译libg++. 我能散的分不够了,恳请戈文不要嫌弃。
来源: 互联网 发布时间:2016-04-18
本文导语: 由于项目特殊需要,我必须用gcc-2.7.2.3和libg++-2.7.2 都是比较老的版本了,后者更是96年的。 这是两个包的地址: ftp://prep.ai.mit.edu/pub/gnu/gcc/gcc-2.7.2.3.tar.gz ftp://prep.ai.mit.edu/pub/gnu/libg++/libg++-2.7.2.tar.gz REDHAT 7上 我编gcc,过了。 ...
由于项目特殊需要,我必须用gcc-2.7.2.3和libg++-2.7.2 都是比较老的版本了,后者更是96年的。
这是两个包的地址:
ftp://prep.ai.mit.edu/pub/gnu/gcc/gcc-2.7.2.3.tar.gz
ftp://prep.ai.mit.edu/pub/gnu/libg++/libg++-2.7.2.tar.gz
REDHAT 7上
我编gcc,过了。
编译libg++的时候出现,下列错误
gcc -02 -c -g -I. -I./../include strerror.c
strerror.c:459: conflicting types for 'sys_errlist' /usr/include/bits/sys_errlist.h:28: previous declaration of 'sys_errlist'
......
请问一下问题:(1) /usr/include/里面的是属于所谓的C++库吗?还是C库?是标准库吗?
在unix或其他linux上,这个库相同吗。
如果是,为什么我卸掉gcc,/usr/include还在?难道是linux系统自带的?
gcc本身不带这个庞大的库?
(2) 我现在用gcc编一个helloworld, 都报找不到iostream.h(在/usr/include里), 那么,/usr/include路径应该加在哪个文件哪个环境变量里?还需要加别的路径吗?
(3)除了/usr/include,还有编译的时候,还有别的系统的include路径要引用吗?
(4) build完gcc2723之后,我往LD_LIBRARY_PATH加了gcc2723里面的lib路径,这里面有Include和.a库。问题是机器自带的.a文件(就像window里面.lib文件的路径也要指明一样)的路径在那里?这个又在哪个变量指名?
(5)谁能帮我看一下,这个libg++,到底是不是标准C++库呢?
我看到这里面也有iostream.h, 莫非这是96年那时候的C++库?
我要编这个libg++,难道还要用现在的C++库编译?
结果冲突了。。莫非10年来C++库都变化了。
有什么办法能解决这个错误?我的程序必须要在g++2.7跑。。。
-----------
说的比较罗嗦,是为了能给各位更多的信息。我是C++初学者,所以对gcc,C++库,标准C++库,libg++的关系不是很清楚,请耐心教我。
谢谢a lot.
|
/usr/include 目录是系统很多接口的头文件存放目录,当然也包括gcc与g++的,一般来说这个目录是gcc头文件的默认路径,是不需要加在编译参数中的,如果加的话可以用 -I路径名 制定
系统自带的库路径一般在/lib或/usr/lib下,如果加的话可以用 -L路径名 制定
系统自带的库路径一般在/lib或/usr/lib下,如果加的话可以用 -L路径名 制定