📄 glibc2-howto-7.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
<TITLE>Glibc 2 HOWTO 中文版: 编译 C++ 程式</TITLE>
<LINK HREF="Glibc2-HOWTO-8.html" REL=next>
<LINK HREF="Glibc2-HOWTO-6.html" REL=previous>
<LINK HREF="Glibc2-HOWTO.html#toc7" REL=contents>
</HEAD>
<BODY>
<A HREF="Glibc2-HOWTO-8.html">Next</A>
<A HREF="Glibc2-HOWTO-6.html">Previous</A>
<A HREF="Glibc2-HOWTO.html#toc7">Contents</A>
<HR>
<H2><A NAME="s7">7. 编译 C++ 程式</A></H2>
<P>
<P>因为 libg++ 使用了部份的数学函式库,也就是说会连结到 libm。
由於你目前的 libg++ 是用旧版的函式库所建立的,
所以你必须重新用 glibc 来 compile libg++ 或是取得一份预先编译好的版本。
最新版的 libg++ source 与用 glibc 所连结的预先编译版可以在
<A HREF="ftp://ftp.yggdrasil.com/private/hjl/">ftp://ftp.yggdrasil.com/private/hjl/</A>
找到。
<P>
<H2><A NAME="ss7.1">7.1 用测试的 C 函式库安装 libg++</A>
</H2>
<P>
<P>假如你已经将 glibc 安装成测试用的函式库,那你必须安装到 glibc 所安装的目录下
(例如由前一节所示的 <CODE>/usr/i486-linuxglibc2</CODE>)。
假如你要安装预先编译好的版本
(这也是我建议的安装方式,因为我一直都不能用这种方式成功地编译 libg++),
你必须将档案解到暂存的目录下,
将 <CODE>usr/lib/</CODE> 下的所有档案搬到
<CODE><install directory>/lib/</CODE>,
并将 <CODE>usr/include/</CODE> 下的所有档案搬到
<CODE><install directory>/include/</CODE> 下,
(记得先删除 <CODE>include/g++</CODE> 这个连结!)
再将 <CODE>usr/bin/</CODE> 下的档案搬到
<CODE><install directory>/bin/</CODE>。
<P>
<H2><A NAME="ss7.2">7.2 在主要 glibc 下安装 libg++</A>
</H2>
<P>若你已经将 glibc 安装成主要的函式库,假如还想要用旧的 libc 来编译 g++ 的程式,
那你必须先将旧的 libg++ 档案移至旧的 libc 的目录下。
也许最简单的方式就是如前一节用 libc 5 来安装一份新版的拷贝,
然後再正常安装 glibc 版。
<P>
<H2><A NAME="ss7.3">7.3 使用非主要的 C 函式库来编译 C++ 程式</A>
</H2>
<P>假如你想用非主要的 C 函式库来编译 C++ 程式,
那你必须要加入 g++ 的 include 目录。
在上面的例子中,
对测试用的 glibc 是 <CODE>/usr/i486-linuxglibc2/include/g++</CODE>,
而对主要 glibc 则是 <CODE>/usr/i486-linuxlibc5/include/g++</CODE>,
这通常都可以由添加至 <CODE>$CXXFLAGS</CODE> 这个变数来完成:
<BLOCKQUOTE><CODE>
<PRE>
CXXFLAGS = -nostdinc -I/usr/i486-linuxglibc2/include -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include -I/usr/i486-linuxlibc5/include/g++ -b i486-linuxglibc2
</PRE>
</CODE></BLOCKQUOTE>
<P>
<P>
<HR>
<A HREF="Glibc2-HOWTO-8.html">Next</A>
<A HREF="Glibc2-HOWTO-6.html">Previous</A>
<A HREF="Glibc2-HOWTO.html#toc7">Contents</A>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -