gcc编译基本要点

弄了一上午终于开始make gcc了。。。于是记录一下要点。。。

0、在/etc/profile加上以下设置可减少很多麻烦事:

export CFLAGS='-I/usr/local/include'

export CPPFLAGS='-I/usr/local/include'

export LDFLAGS='-L/usr/local/lib'

1、必须库及编译顺序:gmp –> mpfr –> polylib –> ppl –> cloog-ppl

2、必须库configure的时候全部用–enable-shared –disable-static

特例:

ppl:需要加上LDFLAGS=’-no-undefined -L/usr/local/lib’,否则编译出来的还是静态库,后面编译cloog-ppl的时候会出现一大堆undefined reference。这个错误折磨了我很久。。。

cloog-ppl:需加上–with-ppl=/usr/local/,这个是编译gcc的要求

3、必须在gcc源代码目录树的外面新建一个文件夹,并在里面configure及make(请允许我吐槽。。。这是什么鬼规定。。。

3-26更新:

(前面的写完之后又折腾了一整天,编译gcc果然非常ep。。。

4、mingw目录必须在分区根部(如D:\MingW),不然会出现很奇怪的问题。。。

5、gcc在configure的时候要显式指定1里面4个库的位置,否则stage2会出错

6、cloog-ppl也要加上ppl的ldflags,不加的话编译出来的还是静态库

7、编译libgomp的时候有可能会出现ar.exe的错误,把其它目录的libtool复制到libgomp里面覆盖掉继续make就可以。这个操作可能要重复5次以上。。。

大概就是这样了。。。另外感谢squallatf同学的大力协助,很多问题都是他解答的,让我少走很多弯路。。。

Leave a Reply

Your email address will not be published. Required fields are marked *