问题标签 [g++4.9]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
451 浏览

c++11 - 在代码中本地化 g++ 编译选项

我正在寻找一种简单的方法来将某些 g++(具体为 g++-4.9)编译选项本地化到某些代码行或至少是目标函数。一般来说,我感兴趣,但也特别对-fast-math,-ffinite-math-only-fno-signed-zeros选项感兴趣。

我认为使用make实用程序可以在 *.cpp 文件级别进行本地化,但我希望有一种方法可以通过 #pragma 或 __attribute__ 或其他方式在代码本身中启用它。我想这样做不仅是为了最大限度地减少对外部文件的依赖(即不正确的风险makefile),而且希望将某些 FP 行为超本地化到函数中的特定方程。

makefile或者,如果无法通过内联指令对 FP 行为进行本地化,如果在项目构建中未启用所需的编译器指令(例如丢失或不当修改),我可以做些什么来至少触发编译时错误。

我认为这种内联优化可能是编译器特定的,在这种情况下是 g++,但这是我愿意采取的折衷方案。

0 投票
1 回答
126 浏览

c++ - 从 constexpr 函数返回一个类需要带有 g++ 的 virtual 关键字

嗨,以下程序适用于 g++ 4.9.2(Ubuntu 4.9.2-10ubuntu13),但该virtual函数需要关键字get

如果我省略virtual关键字,我会收到以下错误:

如何在不使用virtual关键字的情况下使上面的代码工作(使用 g++)?

0 投票
1 回答
68 浏览

c++ - 如何指定返回类的 constexpr 函数的类型(不使用 auto 关键字)

基本上在下面我想看看我是否可以绕过不得不使用auto关键字

假设我们有以下代码 [适用于 g++ 4.9.2 (Ubuntu 4.9.2-10ubuntu13) & clang version 3.6.0]:

如何在声明/定义时指定类型v而不是使用 auto关键字?我试过create<int>::test v = create<int>();了,但这不起作用。

ps

1)这与我在Returning a class from a constexpr function requires virtual keyword with g++中提出的问题不同,即使代码相同

2)我不想在函数之外定义类。

0 投票
1 回答
608 浏览

c++ - 使用 g++ 的 decltype 模板声明

以下代码适用于 clang 版本 3.6.0。但是当我将它与 g++ 4.9.2 (Ubuntu 4.9.2-10ubuntu13) 一起使用时,我得到一个错误:

我得到的错误是:

有没有办法让代码用 gcc 编译?谢谢。ps 我显然不需要,template <typename T>但这只是为了说明。

0 投票
1 回答
365 浏览

eclipse - 为什么 VS2015 intellisense 在 C++11 用户定义文字 (UDL) 上显示错误

下面的代码可以编译运行,但是VS2015 intellisense会报错。g++ & eclipse 有同样的问题(编译&运行但显示错误)

有谁知道如何修理它?我尝试在谷歌上搜索但没有希望。这个错误有点烦人.. :-)

错误消息:“整数文字上的后缀 's' 无效”

非常感谢!

0 投票
0 回答
263 浏览

c++ - 无活动异常调用的纯虚方法 - 运行时 err0r

这是一个非常基本的代码,运行它后,我有这个运行时错误。

此代码在 windows vs 和 mingw 下运行良好。在 linux g++ 上,我遇到了这个运行时错误,我读到了一些关于 bug 的内容,但它是 g++4.6,我正在使用 g++4.9 ...

我想念什么,我该如何解决?

0 投票
1 回答
8988 浏览

c++ - 在 Mint 17.2 上安装 g++ 4.9

我正在尝试安装 g++ 4.9 或更高版本以便在 Android 上构建 mapbox。说明指出我需要 g++ 4.9 或更高版本。我找到了以下说明,但它们不起作用。

最后一条命令说:

我还尝试了 Synaptic Package Manager 并得到以下结果:

如何在我的计算机上获得 g++ 4.9?

谢谢。

0 投票
0 回答
1515 浏览

c++ - '::at_quick_exit' 未声明错误

我有以下简单的 c++ 程序。

当我编译它时,我收到以下错误。

有谁知道为什么会发生这个编译错误以及应该如何修复它?

0 投票
1 回答
235 浏览

c++ - Unused classes removed

I have the following code:

Now I wanted to compile the class into an shared library using g++ -Wall -Wno-unused -Werror -fPIC -g -Iinclude/ -c -O0 -o object.o object.cpp and g++ --shared -o librm.so object.o. Compilation works with no problems, however after checking the resulting library with nm librm.so | c++filt, rm::lib::Object::Object() is nowhere to be found. GCC gives out no warning, even with -Wextra enabled.

G++ version is (Raspbian 4.9.2-10) 4.9.2

0 投票
0 回答
75 浏览

c++ - 为什么 g++4.9 会尝试编译多余的代码?

我尝试编译使用许多模板魔术(主要是元组)的旧代码(json to struct parser),以便我可以描述如下解析器命令:

此代码构建解析器链以将 json(Qt 库中的 QJsonValue 对象)解压缩为普通结构。

  • 读取“name”属性,转换为写入“name”属性(QString)的QString(仅非空,或在其他地方失败);
  • 读取“name”属性,转换为写入“name”属性(QString)的QString(仅非空,或在其他地方失败);
  • 如果可能,请阅读“submeshes”、unlist(对数组中的每个项目执行)、将(每个项目)转换为非空 QString 并将(每个项目)附加到“submeshres”属性(QList)。

比解析:

有时这段代码可以完美运行,但 g++ 4.9 尝试在我的代码中未使用的变体中构建模板。

错误:

仅在调试和发布构建配置中首次使用Ops::cast, Ops::write(以及另外两个命令 -one_of和)时才会引发此错误。or_else

Ops- 带有解析器操作的命名空间。从模板Ops::cast返回对象。_helpers::caster该对象存储指向转换函数的指针。

我有操作员与演员表助手一起工作:

此运算符附加新命令(cast在本例中)以解析链并返回新节点,但是...我不在有错误的行上使用Ops::packer(从_helpers::packer模板返回对象),因此无需operator >>Ops::packer具有此类元组的节点构建类型。每个运算符都是独立编写的,而不是在ParserNode模板类主体中,所以我希望它g++只会构建需要的组合。


Qt 项目文件中的这一行:

修复了问题(g++ 4.8 可以构建我的代码),但这就像拄着拐杖走路。

我可以设置一些额外的 g++ 参数 (to QMAKE_CXXFLAGS) 以防止构建未使用的模板组合吗?不想重写这段代码,至少现在......