我使用的是ubuntu12.04,默认的gcc是4.6.3。它不接受c++11命令,并且给我输出说该命令不兼容c++98。我在网上查了一下,看到有人建议不要更改操作系统上的默认编译器,因为它变得不稳定。任何人都可以建议修复或安全的方式来下载符合c++11的gcc编译器。 最佳答案 正如其他人所建议的,您需要输入std命令行选项。让我们轻松为您服务按Ctrl+Alt+T打开终端sudogedit~/.bashrc输入下一行作为最后一行aliasg++="g++--std=c++0x"保存并关闭文件并关闭终端。现在再次打开终端,只需通过
我已经问过这个问题atapple.stackexchange.com,但我被告知这是这个问题的错误位置-所以我会在这里问它,就像我被建议做的那样。在我的大学,我们的任务是实现一个具有GTK-GUI的c程序。GTK-GUI已经实现了,我们只需要实现一个算法,给它一些数据。我已经让gcc/g++工作了。但是当我尝试编译项目时,编译器返回错误,它没有找到gtk:fatalerror:'gtk/gtk.h'filenotfound#include^所以我的问题是:如何在OSXMavericks上安装gtk以便与gcc/g++编译器一起使用?我的设置:MacBookProRetinaMid201
我已经问过这个问题atapple.stackexchange.com,但我被告知这是这个问题的错误位置-所以我会在这里问它,就像我被建议做的那样。在我的大学,我们的任务是实现一个具有GTK-GUI的c程序。GTK-GUI已经实现了,我们只需要实现一个算法,给它一些数据。我已经让gcc/g++工作了。但是当我尝试编译项目时,编译器返回错误,它没有找到gtk:fatalerror:'gtk/gtk.h'filenotfound#include^所以我的问题是:如何在OSXMavericks上安装gtk以便与gcc/g++编译器一起使用?我的设置:MacBookProRetinaMid201
我知道如何禁用所有未知的#pragma警告。例如,在HowcanIdisable#pragmawarnings?中给出了答案。.有没有办法为一个特定的编译指示禁用“未知编译指示”警告?例如,如果我禁用#pragmaugubugu以下代码的警告:#pragmaugubugu#pragmauntiuntiintmain(){return0;}当编译时:g++pragma.cpp-Wallclang++pragma.cpp-Wall应该产生一个警告:warning:ignoring#pragmauntiunti例如,也许有一种简单的方法来注册一个什么都不做的自定义编译指示?很高兴知道Visu
我知道如何禁用所有未知的#pragma警告。例如,在HowcanIdisable#pragmawarnings?中给出了答案。.有没有办法为一个特定的编译指示禁用“未知编译指示”警告?例如,如果我禁用#pragmaugubugu以下代码的警告:#pragmaugubugu#pragmauntiuntiintmain(){return0;}当编译时:g++pragma.cpp-Wallclang++pragma.cpp-Wall应该产生一个警告:warning:ignoring#pragmauntiunti例如,也许有一种简单的方法来注册一个什么都不做的自定义编译指示?很高兴知道Visu
我刚刚升级到GCC4.8,一些可变参数模板代码不再正确编译。我在下面创建了一个最小的示例:#include#includetemplatevoidsomething(std::tuple&tup){std::cout(tup)myTuple(3,'a',true);//CompilesOKinGCC4.6.3butNOT4.8something(myTuple);//CompilesOKinGCC4.8butNOT4.6.3something(myTuple);return0;}此输出将是(如果注释掉GCC4.6.3/4.8的错误版本)'一个'。GCC4.6.3产生的错误是:./tes
我刚刚升级到GCC4.8,一些可变参数模板代码不再正确编译。我在下面创建了一个最小的示例:#include#includetemplatevoidsomething(std::tuple&tup){std::cout(tup)myTuple(3,'a',true);//CompilesOKinGCC4.6.3butNOT4.8something(myTuple);//CompilesOKinGCC4.8butNOT4.6.3something(myTuple);return0;}此输出将是(如果注释掉GCC4.6.3/4.8的错误版本)'一个'。GCC4.6.3产生的错误是:./tes
我收到了很多关于开关的警告,这些警告仅部分覆盖了切换的枚举范围。因此,我想为所有这些开关设置一个“默认值”,并在这种情况下放置__builtin_unreachable(GCC内置),以便编译器知道这种情况是不可达的。但是,我知道GCC4.3还不支持该内置函数。有什么好方法可以模拟该功能吗?我考虑过取消引用空指针,但这可能会产生其他不良影响/警告等。你有更好的主意吗? 最佳答案 您可以调用声明为_Noreturn的内联函数,以将该调用之后的任何内容标记为无法访问。允许编译器在这样的函数之后抛出任何代码。如果函数本身是static(并
我收到了很多关于开关的警告,这些警告仅部分覆盖了切换的枚举范围。因此,我想为所有这些开关设置一个“默认值”,并在这种情况下放置__builtin_unreachable(GCC内置),以便编译器知道这种情况是不可达的。但是,我知道GCC4.3还不支持该内置函数。有什么好方法可以模拟该功能吗?我考虑过取消引用空指针,但这可能会产生其他不良影响/警告等。你有更好的主意吗? 最佳答案 您可以调用声明为_Noreturn的内联函数,以将该调用之后的任何内容标记为无法访问。允许编译器在这样的函数之后抛出任何代码。如果函数本身是static(并
假设我有一个非常简单的C文件(称为foo.c):intmain(){printf("foo");return0;}现在我调用gcc:gccfoo.c当我调用gcc时(没有选项,如上例所示),默认链接了哪些库,它们位于何处?(在MacOSX10.7上) 最佳答案 gcc的-v选项将导致它转储有关它将使用的默认选项的信息,包括库路径和默认库以及将链接的目标文件在。如果您提供-Wl,--verbose选项,gcc会将--verbose传递给链接器,链接器将准确转储它正在寻找库的位置,包括失败和成功的搜索。结合这两个选项,您将确切地看到链接