Questions tagged «gcc»

GNU编译器集合是许多类Unix操作系统(包括Linux)上使用的标准编译器系统。最初用于编译C程序,现在它也可以处理C ++,Java和其他几种语言。

1
如何将ncurses.h添加到在gcc上编译的C ++程序中?
我对gcc上的C ++编程完全陌生。我想在控制台的输出中为文本添加颜色。由于linux上没有conio.h,因此我研究发现ncurses.h可以解决问题。现在唯一的问题是我不知道如何下载它然后添加库。有人可以描述一下方法吗? 另外,如果有人可以描述ncurses.h是否比curses.h更好,或者在使用curses.h时我完全错了?
11 gcc  c++  ncurses 

2
将GCC更新到6.3版本[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Ask Ubuntu 的主题。 3年前关闭。 我想使用一些仅在该语言的最新版本中可用的C ++功能。问题是Ubuntu 15.04(Vivid Vervet)已安装4.9.2,并查看我从apt-get install gcc获得的输出: Reading package lists... Done Building dependency tree Reading state information... Done gcc is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 2 not fully installed or removed. After this operation, …
10 apt  gcc  c++  versions  compiler 

4
Ubuntu 17.10升级中断了VMWare工作站12.5
您好,升级到Ubuntu 17.10后,vmware现在无法启动。 我收到消息: /usr/lib/vmware/bin/vmware-modconfig: Relink `/lib/x86_64-linux-gnu/libbsd.so.0' with `/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol `clock_gettime' 我知道有可用的修补程序,我正在尝试应用这些修补程序并重新编译。我已经从https://communities.vmware.com/thread/571370的解决方案运行: cd ~ #Copy the vmmon source tar ball to your temporary location cp /usr/lib/vmware/modules/source/vmmon.tar . #Extract the tar ball tar xf vmmon.tar #Download the modified file that mkubecek posted and overwrite the one from the tar ball …


4
您如何建立较旧的gcc版本?找不到关于crti.o的错误
如何在Ubuntu 11.10上构建较旧的gcc(特别是4.5.2),并避免有关“ / usr / bin / ld:找不到crti.o:没有这样的文件或目录”的错误? 我做了一些挖掘,发现了一些类似的项目,但没有一个能真正解决我的问题: 我已经验证了所有我的软件包(libc6-dev之类)均已按照此问题重新安装 我已经验证了crti.o存在于/ usr / lib32和/ usr / lib / x86_64-linux-gnu中,并且我的ld.so.conf配置为在这些目录中查找 我已经验证可以在LIBRARY_PATH = / usr / lib / x86_64-linux-gnu之前进行make调用,但是想避免这种情况(它成为makefile中的分歧点) 我已经使用--with-build-sysroot尝试了各种方法,但是没有成功(阅读:也许我只是不知道要设置的正确标志) 当使用strace运行时(按照此答案),我可以看到对crti.o的简单引用: 13240 open(“ crti.o”,O_RDONLY)= -1 ENOENT(无此类文件或目录) 谢谢!
10 11.10  gcc 

2
错误安装nvidia-387:错误!在内核上构建模块的错误返回状态:
我正在尝试在新的Ubuntu 16.04上安装nvidia-387。 启动后,sudo apt-get install nvidia-387我总是会得到以下输出: Building initial module for 4.13.0-26-generic Error! Bad return status for module build on kernel: 4.13.0-26-generic (x86_64) 在我的搜索,我发现很多指向了错误的gcc版本的问题,但多次尝试后,我没能找到一种方法去:下面这个讨论中,我用gcc 4.8 / 4-9 / 5.4 / 6试过没有任何的运气。 有什么帮助吗? 非常感谢你。
9 drivers  nvidia  gcc 

2
无法在Ubuntu 12.04上使用GCC进行编译
我正在尝试使用GCC和VC9在我的Ubuntu和Windows计算机上编译并运行以下C程序。但是,我面临以下问题: 在Ubuntu机器上: GCC可以正常编译,但是运行时会显示以下提示: Segmentation Fault (Core Dump). 在Windows计算机上: VC9编译并运行良好。GCC可以正常编译,但是程序运行时进程终止。 在这里需要您的专家协助。这是我的代码: #include <string.h> #include <stdio.h> int calc_slope(int input1,int input2) { int sum=0; int start=input1; int end=input2; int curr=start; //some validation: if (input1>input2) return -1; while(curr<=end) { if (curr>100) { char *s=""; int length; int left; int right; int cent; sprintf(s,"%d",curr); length=strlen(s); …
9 compiling  gcc 

1
在18.04中默认未安装build-essential。如何离线安装网络驱动程序?
对于笔记本电脑上的新安装,我们存在严重的问题,该笔记本电脑仅具有需要某些网络驱动程序的无线网络设备,例如bcmwl-kernel-source。 如今,许多笔记本电脑都没有以太网端口。 build-essential默认安装中没有。因此,我们无法安装dkms模块或从源代码构建任何内容。 唯一的方法是手动下载安装所需的许多软件包,build-essential并使用手动安装它们dpkg。 普通用户可以使用其他方法吗? 这个问题源于这个问题。 我建议安装xenial有build-essential默认。 如果没有其他可用的Ubuntu安装,则提示类似的东西apt-offline似乎还不够好。 看起来所有必需的软件包都已在安装介质(池目录)上提供。如果有人建议使用脚本或其他简单方法来下载并安装它们,那将是一个很好的答案。

1
14.04.01 32位:交叉编译时缺少g ++ 64位包含文件
因此,我安装了32位的Xubuntu 14.04.1。我们有一些接口代码,打算在其中发布针对我们支持的各种平台的SO和Windows DLL。(是的,我知道二进制发布不好,但在这里也没有关系。) 我正在尝试使用-m32/ -m64gcc / g ++参数用32位14.04.01构建32位和64位SO 。32位版本工作正常,但64位版本失败 /usr/include/c++/4.8/string:38:28: fatal error: bits/c++config.h: No such file or directory 检入include文件时,该文件对于32位确实存在,但对于64位则丢失。 谷歌搜索问题,过去似乎在GCC / G ++ 4.6中已发生,但随后被标记为已修复。但是14.04.1使用的是GCC / G ++ 4.8,这表明GCC / G ++ 4.8中的这些库中存在回归。这是其他人看到的吗? 如有必要,我可以为64位14.04.1设置新的VM,然后查看是否可以选择正确的库版本。不过,我宁愿不要,因为我还有很多其他东西也必须重新安装。有更好的解决方案吗?而且,如果我确实安装了64位14.04.1,那么我肯定可以将其交叉编译回32位而不会在另一个方向上丢失标头吗?

3
如何使用gcc交叉编译Raspberry Pi的程序?
我很喜欢用gcc在我的主计算机上编译小的C和C ++小程序。但是,我也有Raspberry Pi,并且作为700 MHz单核计算机,我希望不必每次为它创建二进制文件时都对其进行开发工作。如何(因为我知道有办法)使用x86笔记本电脑为Raspberry Pi交叉编译程序?有没有一种方法可以在Pi上编译C(++)程序但生成x86二进制文件?如果有帮助,请“ SoC是Broadcom BCM2835。它包含带浮点的ARM1176JZFS ...”(根据官方Raspberry Pi常见问题解答)。

2
如何使用GCC 4.7代替4.6?
所以我正在一个项目上,我想为C使用一些C11功能。要使用这些功能,需要GCC 4.7,因此我进入了突触并查找了4.7,然后找到了gcc-4.7-base包,因此我安装[1]。 因此,现在已经安装了gcc-4.7-base,我希望能够使用4.7,但是不,当我这样做时,gcc --version它仍然显示4.6.3甚至更多,当我尝试直接调用4.7(via /usr/bin/gcc-4.7)时,它不存在,尽管gcc-4.6确实存在可执行文件。 如何“激活” GCC 4.7?我在这里阅读了,您使用做了一些疯狂的update-alternatives工作,但是对我来说它不起作用,因为gcc-4.7可执行文件实际上不在我的机器上。 注意:1.我还看到了gcc-4.6-base,因此我想将其卸载,但是synaptic试图删除我已安装的每个软件包并安装Java运行时,因此出于明显的原因,我决定不删除它。

3
升级后gcc不再起作用
举个例子: hsmyers@ubuntu:~/c_dev$ cat hello.c #include <stdio.h> int main(int argc,char **argv) { printf("Hello World!\n"); return 0; } hsmyers@ubuntu:~/c_dev$ gcc -c -o hello.o hello.c In file included from /usr/include/stdio.h:28:0, from hello.c:1: /usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory compilation terminated. 尝试修复错误消息后,在途中的某个地方有一个猜测: / usr / bin / ld:找不到crt1.o:没有这样的文件或目录 我把事情彻底弄糟了。有人可以建议吗?
8 11.10  gcc 

1
更新gfortran库
我对计算机上的版本感到困惑。我正在运行Ubuntu 16.04。 的输出gcc --version,并g++ --version告诉我,我已经安装了7.2.0。大! gfortran --version但是,当我这样做时,它告诉我已经安装了5.4.1。当我更新(sudo apt-get install gfortran-7)时,它已正确更新,现在告诉我我已经拥有最新版本。而且当我这样做时,gfortran-7 --version它可以正确识别版本。如何告诉系统我的系统上有可用的gfortran较新版本?我该如何覆盖呢? 编辑:我已经遵​​循了找不到-lgfortran,但是符号链接在驱动器上已经存在,所以我尝试更新并解决了上述问题。 edit2:另外,我刚刚发现gfortran -v这个gfortran仍然认为gcc也是5.4.1版本。:S edit3:的输出apt-cache policy gcc gfortran是: gcc: Installed: 4:5.3.1-1ubuntu1 Candidate: 4:5.3.1-1ubuntu1 Version table: *** 4:5.3.1-1ubuntu1 500 500 http://de.archive.ubuntu.com/ubuntu xenial/main amd64 Packages 100 /var/lib/dpkg/status gfortran: Installed: 4:5.3.1-1ubuntu1 Candidate: 4:5.3.1-1ubuntu1 Version table: *** 4:5.3.1-1ubuntu1 500 500 http://de.archive.ubuntu.com/ubuntu xenial/main amd64 Packages …
2 apt  gcc  g++ 

1
如何从带有apt和gpg的防火墙后面将gcc / gpp 6到9放到Xenial系统上?
我尝试让Ubuntu 16.04(xenial)的编译器高于gcc / gpp-5。 我将这些行添加到/etc/apt/sources.list deb http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main deb-src http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial main deb http://ppa.launchpad.net/jonathonf/gcc/ubuntu xenial main deb-src http://ppa.launchpad.net/jonathonf/gcc/ubuntu xenial main 之后运行“ apt update”时,我得到了: Err:9 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1E9377A2BA9EF27F Err:16 http://ppa.launchpad.net/jonathonf/gcc/ubuntu xenial InRelease The following signatures …
1 16.04  proxy  gcc  gnupg  g++ 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.