用gcc3.4.5编译c++项目
来源:互联网 发布:c语言初级程序 编辑:程序博客网 时间:2024/05/17 06:23
1,系统里默认的gcc是4.4.7的,首先需要安装gcc3.4.5。
1)下载源代码:从https://gcc.gnu.org/mirrors.html (推荐地址:http://mirrors-usa.go-parts.com/gcc/releases/gcc-3.4.5/gcc-3.4.5.tar.bz2)下载
2)安装glibc-32:yum-y install glibc-devel.i686
3)编译安装:
假设目标安装目录为:/opt/compiler/gcc-3.4.5
依次执行以下命令:
./configure --prefix=/opt/compiler/gcc-3.4.5 --mandir=/opt/compiler/gcc-3.4.5/man
--infodir=/opt/compiler/gcc-3.4.5/info
--enable-shared --enable-threads=posix
--disable-checking --with-system-zlib
--enable-__cxa_atexit --disable-libunwind-exceptions
--enable-languages=c,c++ --disable-libgcj --host=x86_64-redhat-linux
make -j
make install
至此,gcc安装完毕,gcc bin文件位于/opt/compiler/gcc-3.4.5/bin/gcc
./configure CFLAGS=-O2 --with-sysroot --with-system-libunwind --enable-languages=c,c++ --enable-c99 --enable-threads=posix --enable-__cxa_atexit --enable-libstdcxx-allocator --enable-libstdcxx-threads --enable-libstdcxx-time --enable-libstdcxx-visibility --disable-multilib --disable-bootstrap
--prefix=/opt/compiler/gcc-4.8.2/ --with-local-prefix=/ --with-native-system-header-dir=/top/include --with-build-sysroot=/top
./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib --prefix=/opt/compiler/gcc-4.8.2/ --enable-c99 --enable-threads=posix --enable-__cxa_atexit
2,boost库用yum安装是1.4.48版本,需要回退到1.32.0。
1)下载源码:从官网里找即可。
2)编译过程:boost用的bjam进行编译。到tools/build/jam_src里执行build.sh生成bjam;拷贝bjam到boost源码的根目录,执行./bjam toolset=gcc --layout=tagged --build-type=complete stage完成编译;需要把stage中生成的所有lib拷贝到/usr/lib64中,同时把根目录下的boost文件夹拷贝到/usr/include中,不能打软连接,Make的时候会找不到目录。
3,编译项目的时候需要注意:Makefile有可能指定了CC和CXX的路径,这个时候虽然新装了gcc3.4.5可能仍然不生效,需要改一下路径。
- 用gcc3.4.5编译c++项目
- gcc3
- debian 6下编译安装 gcc3.2.3
- arm-linux-gcc3.4.1编译u-boot出错
- 使用arm-linux-gcc3.4.6重新编译移植QTE4.6.3
- 用eclipse编译JAVA和C项目
- 用Makefile编译普通C/C++项目
- redhat9上用rpm包方式升级gcc3.2到gcc3.4.6
- redhat9上用rpm包方式升级gcc3.2到gcc3.4
- gcc3.4编译2.6.31 内核编译 以及 遇到的问题和错误
- ARM GCC3.4 编译QT7,Error: register or shift expression expected
- 编译低版本Gcc (<gcc3.4.6),报错error: unrecognizable insn:
- Linux下用cmake编译大型C/C++项目
- Android项目中编译 C的模块
- 命令行编译C++Builder/Delphi项目
- Android项目中编译 C的模块
- 一个简单的c项目编译
- 用 Nant 编译项目
- hdu 6103 Kirinriki 尺取
- PE文件格式详解(2)
- 关于__stdcall和__cdecl调用方式的理解
- 第一章 Thread Management(线程管理) 下
- Kirinriki(HDU 6103)
- 用gcc3.4.5编译c++项目
- 在win7下配置Geany,使其使用 Python 3
- 极光推送
- 遍历已加载的驱动sys_魔域驱动
- 2013年计算机联考真题——确定主元
- 主席树-查询区间有多少个不同的数
- Angular2入门之模块与组件
- 【2017/8/11】Linux7 rsync+inotify实现服务器之间文件实时同步
- 举例说明EIP,EBP,ESP的作用