我有 Ubuntu 10.04 32 位,当前安装了 gcc 4.4.3。我想将其升级到 gcc 4.6.1。
如何使用 Ubuntu 包管理器进行更新:
apt-get upgrade/install
Run Code Online (Sandbox Code Playgroud)作为第二个选项,我从以下位置下载了最新的 gcc 快照文件:
http://gcc.cybermirror.org/snapshots/LATEST-4.7/gcc-4.7-20110709.tar.bz2
如何配置、编译和安装它?
我今天更新到 OS X Lion,我似乎没有 gcc 的副本了。这是否发生在其他人身上?有谁知道为什么会发生这种情况?
使用 gcc 4.7.2 和 autoconf 2.69 进行编译时,我经常会在 configure.log 中得到诸如此类的结果。例子:
configure:3091: $? = 0
configure:3080: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files compilation terminated.
configure:3091: $? = 1
configure:3080: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files compilation terminated.
configure:3091: $? = 1
configure:3111: checking whether the C compiler works
configure:3133: gcc -march=x86-64 -mtune=generic -Os -pipe -Wl,-O1 conftest.c >&5
configure:3137: $? = 0
configure:3185: …Run Code Online (Sandbox Code Playgroud) 在 OS X Lion 上安装 Xcode 4.3.1 后,我丢失了 GCC 编译器。我的学习需要这个。有谁知道我将如何安装它?我所能找到的只是有人建议安装 Xcode 4.3.1,但使用最新的 Xcode 版本,Apple 已将 GCC 编译器移至 Xcode.app 中,它似乎与 GCC 编译器的版本不同与以前版本的 Xcode 捆绑在一起的那个。
我在 OS X 10.7 (Lion) 上工作。我已经从 macports 安装了 gcc 4.7:
sudo port install gcc47
Run Code Online (Sandbox Code Playgroud)
它似乎工作正常:
$ /opt/local/bin/gcc-mp-4.7 -v
(...)
gcc version 4.7.0 (GCC)
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试使用端口选择来更改默认编译器:
$ sudo port select gcc mp-gcc47
Selecting 'mp-gcc47' for 'gcc' succeeded. 'mp-gcc47' is now active.
Run Code Online (Sandbox Code Playgroud)
它将 gcc 二进制文件复制到 /opt/local/bin/gcc,它可以正常工作:
$ /opt/local/bin/gcc -v
(...)
gcc version 4.7.0 (GCC)
Run Code Online (Sandbox Code Playgroud)
它还更改了默认的 gcc:
$ which gcc
/opt/local/bin/gcc
Run Code Online (Sandbox Code Playgroud)
但是运行这个默认的不起作用:
$ gcc -v
gcc-mp-4.7: error trying to exec '/opt/local/bin/i686-apple-darwin11-llvm-gcc-4.2': execvp: No such file or directory
Run Code Online (Sandbox Code Playgroud)
这个二进制文件“i686-apple-darwin11-llvm-gcc-4.2”是苹果提供的原始gcc版本;我不知道为什么它试图在 /opt/local/bin 中查看它,甚至不知道它为什么试图运行它。如果我创建符号链接,它只是调用这个二进制文件,这不是我想要的:
$ sudo ln -s …Run Code Online (Sandbox Code Playgroud) 我已经下载了 GCC 4.5.1,不知道下一步该怎么做。我在 Install 目录中找到了有关如何配置、构建和安装的说明,但我仍然无法做很多事情。我应该如何完成此过程的分步说明是什么?
例如,他们会这样说:
% mkdir objdir
% cd objdir
% srcdir/configure [options] [target]
Run Code Online (Sandbox Code Playgroud)
而且我知道第一行创建一个目录,第二行进入目录。但是第三行呢,我该如何执行呢?我应该转到源目录并键入 configure + options + target 吗?
我正在尝试安装需要 pycrypto 的 Fabric。在构建 pycrypto 期间,我总是收到“Broken Pipe”错误。我不知道从哪里开始解决问题。
我正在运行 Mac OS X Snow Leopard 10.6.6,已安装所有更新;蟒蛇2.6.1;海湾合作委员会 4.2;XCode 4(如果更新了 GCC)
确切的错误是:
$ sudo python setup.py build
Password:
running build
running build_py
running build_ext
warning: GMP library not found; Not building Crypto.PublicKey._fastmath.
building 'Crypto.Hash.MD2' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -fwrapv -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c src/MD2.c -o build/temp.macosx-10.6-universal-2.6/src/MD2.o
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed
Installed assemblers are:
/usr/bin/../libexec/gcc/darwin/x86_64/as for …Run Code Online (Sandbox Code Playgroud) 我已经包含sys/ptrace.h在我的 C 程序中。
的输出/usr/lib/gcc/x86_64-linux-gnu/4.8/cc1 -v给出了以下路径,其中 gcc 查找头文件
#include "..." search starts here:
#include <...> search starts here:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include
/usr/local/include
/usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed
/usr/include
End of search list.
Run Code Online (Sandbox Code Playgroud)
gcc -M我的程序的输出给出了以下头文件位置
pt.o: pt.c /usr/include/stdc-predef.h /usr/include/stdio.h \
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \
/usr/include/x86_64-linux-gnu/bits/wordsize.h \
/usr/include/x86_64-linux-gnu/gnu/stubs.h \
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h \
/usr/include/x86_64-linux-gnu/bits/types.h \
/usr/include/x86_64-linux-gnu/bits/typesizes.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/wchar.h \
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/stdarg.h \
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h \
/usr/include/x86_64-linux-gnu/sys/ptrace.h
Run Code Online (Sandbox Code Playgroud)
由于/usr/include/x86_64-linux-gnu/未包含在第一个输出中,gcc 如何查找sys/ptrace.h?
编辑:
echo '#include <sys/ptrace.h>' | gcc -fsyntax-only -xc -v -H - …
如何确定我的机器上是否安装了 gcc?
我正在尝试运行CodeRunner,但它没有响应。我知道您必须安装 gcc 才能正常工作。我确实安装了 Xcode 4.0.2(根据我的阅读,如果安装了 Xcode,那么您已经有了 gcc)。
我将以下程序存储在 new.c 中
int main()
{
a;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它返回一条错误消息。我想将此消息发送到文件。所以我使用了以下命令
gcc new.c > temp.txt
Run Code Online (Sandbox Code Playgroud)
但我仍然在终端上获得输出。我正在使用 Ubuntu 13.04。我怎样才能让它工作?