问题标签 [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.
c++11 - 在代码中本地化 g++ 编译选项
我正在寻找一种简单的方法来将某些 g++(具体为 g++-4.9)编译选项本地化到某些代码行或至少是目标函数。一般来说,我感兴趣,但也特别对-fast-math
,-ffinite-math-only
和-fno-signed-zeros
选项感兴趣。
我认为使用make
实用程序可以在 *.cpp 文件级别进行本地化,但我希望有一种方法可以通过 #pragma 或 __attribute__ 或其他方式在代码本身中启用它。我想这样做不仅是为了最大限度地减少对外部文件的依赖(即不正确的风险makefile
),而且希望将某些 FP 行为超本地化到函数中的特定方程。
makefile
或者,如果无法通过内联指令对 FP 行为进行本地化,如果在项目构建中未启用所需的编译器指令(例如丢失或不当修改),我可以做些什么来至少触发编译时错误。
我认为这种内联优化可能是编译器特定的,在这种情况下是 g++,但这是我愿意采取的折衷方案。
c++ - 从 constexpr 函数返回一个类需要带有 g++ 的 virtual 关键字
嗨,以下程序适用于 g++ 4.9.2(Ubuntu 4.9.2-10ubuntu13),但该virtual
函数需要关键字get
:
如果我省略virtual
关键字,我会收到以下错误:
如何在不使用virtual
关键字的情况下使上面的代码工作(使用 g++)?
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)我不想在函数之外定义类。
c++ - 使用 g++ 的 decltype 模板声明
以下代码适用于 clang 版本 3.6.0。但是当我将它与 g++ 4.9.2 (Ubuntu 4.9.2-10ubuntu13) 一起使用时,我得到一个错误:
我得到的错误是:
有没有办法让代码用 gcc 编译?谢谢。ps 我显然不需要,template <typename T>
但这只是为了说明。
eclipse - 为什么 VS2015 intellisense 在 C++11 用户定义文字 (UDL) 上显示错误
下面的代码可以编译运行,但是VS2015 intellisense会报错。g++ & eclipse 有同样的问题(编译&运行但显示错误)
有谁知道如何修理它?我尝试在谷歌上搜索但没有希望。这个错误有点烦人.. :-)
错误消息:“整数文字上的后缀 's' 无效”
非常感谢!
c++ - 无活动异常调用的纯虚方法 - 运行时 err0r
这是一个非常基本的代码,运行它后,我有这个运行时错误。
此代码在 windows vs 和 mingw 下运行良好。在 linux g++ 上,我遇到了这个运行时错误,我读到了一些关于 bug 的内容,但它是 g++4.6,我正在使用 g++4.9 ...
我想念什么,我该如何解决?
c++ - 在 Mint 17.2 上安装 g++ 4.9
我正在尝试安装 g++ 4.9 或更高版本以便在 Android 上构建 mapbox。说明指出我需要 g++ 4.9 或更高版本。我找到了以下说明,但它们不起作用。
最后一条命令说:
我还尝试了 Synaptic Package Manager 并得到以下结果:
如何在我的计算机上获得 g++ 4.9?
谢谢。
c++ - '::at_quick_exit' 未声明错误
我有以下简单的 c++ 程序。
当我编译它时,我收到以下错误。
有谁知道为什么会发生这个编译错误以及应该如何修复它?
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
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
) 以防止构建未使用的模板组合吗?不想重写这段代码,至少现在......