GCC 安装说明翻译---配置

声明

**声明由于配置项过多,我只翻译我能看懂的和我需要的。我只关心在本地安装gcc,不需要交叉编译所以有关交叉编译的本文都不涉及。如果想了解所有配置项请自行查看原文 https://gcc.gnu.org/install/configure.html

配置步骤

srcdir 代表gcc的源代码文件夹,objdir代表编译gcc的目标文件夹。objdir不可以是srcdir的子目录。建议使用两个独立的文件夹分别作为objdir和srcdir。

配置GCC的步骤,首先建立并进入objdir,在objdir中执行 configure。具体指令如下

% mkdir objdir
% cd objdir
% srcdir/configure [options] [target]

configure的选项

--prefix=dirname

指定gcc的安装路径,不指定时默认路径是/usr/local

--enable-vtable-verify

我理解跟C++的虚函数有关,但是实在看不懂原文是什么意思

Specify whether to enable or disable the vtable verification feature. Enabling this feature causes libstdc++ to be built with its virtual calls in verifiable mode. This means that, when linked with libvtv, every virtual call in libstdc++ will verify the vtable pointer through which the call will be made before actually making the call. If not linked with libvtv, the verifier will call stub functions (in libstdc++ itself) and do nothing. If vtable verification is disabled, then libstdc++ is not built with its virtual calls in verifiable mode at all. However the libvtv library will still be built (see --disable-libvtv to turn off building libvtv). --disable-vtable-verify is the default.

--disable-gcov

覆盖率分析使用到的运行时库和有关的工具不会被构建

--disable-multilib

为多目标库和多种调用约定而使用的库不会被编译(如分别针对X86_64 和 xi386的库)。默认情况下会编译针对不同目标的库。

--enable-threads

支持线程。影响Objective-C的编译器和运行时库,也影响其他语言(如C++)的异常处理。通常GCC会选择目标平台上表现最好的线程模式。有些目标平台GCC不知道哪种线程模式是最好的因此在这些平台上即使使用了本选项也是不支持多线程的

--disable-threads

不支持线程

--enable-threads=lib

执行线程库,可用的线程库有

aix

AIX thread support.

dce

DCE thread support.

lynx

LynxOS thread support.

mipssde

MIPS SDE thread support.

no

This is an alias for ‘single’.

posix

Generic POSIX/Unix98 thread support.

rtems

RTEMS thread support.

single

Disable thread support, should work for all platforms.

tpf

TPF thread support.

vxworks

VxWorks thread support.

win32

Microsoft Win32 API thread support.

--enable-tls

启用线程本地存储(Thread Local Storage)。通常configure可以正确判断平台是否支持TLS,不过还是建议使用--enable-tls和--disable-tls明确指定是否支持TLS

--disable-tls

禁止TLS

--enable-languages=lang1,lang2,…

指定哪些哪些语言的编译器和运行时库需要构建,不指定就是全部构建。可以在gcc目录下用下面指令查看支持那些语言

grep ^language= */config-lang.in

通常可以指定这些 alldefaultadacc++dfortrangojitltoobjcobj-c++.

 

 

你可能感兴趣的:(C/C++编译工具)