问题标签 [g++4.8]

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 回答
131 浏览

c++ - 为定义的变量传递不正确的类型输入

根据 Stroustrup 的“Programming: Principles and Practice Using C++ (2nd Edition)”,下面的程序应该为对象 'age' 输出 -1 的值。



0 投票
2 回答
384 浏览

c++ - 这个编译器错误是由无效代码触发的,还是应该编译?

给定以下完整程序:

在 gcc (Ubuntu 4.8.1-2ubuntu1~12.04) 4.8.1 上编译这个:boom!

然而,clang [Apple LLVM 版本 5.1 (clang-503.0.40) (基于 LLVM 3.4svn)] 对此很满意。

在我看来,clang 正确地推断出 j 默认为默认构造的jobbie对象,而 gcc (显然)正在爆炸。

将第 8 行替换为void do_jobbie(jobbie j = jobbie {})修复 gcc 上的问题。

问题 - 以下哪些是正确的:

  1. clang 是正确的,gcc 是错误的(忽略编译器爆炸)
  2. clang 超出了标准,它不应该真正编译
  3. 标准没有说清楚?
0 投票
1 回答
708 浏览

c++ - 无法抑制 GCC -Wextra 警告

我在我的一个项目中使用 Boost.Log v2,并且在构建它时收到以下警告:

我想删除这个警告,因为我无法修复它,因为它是 Boost 库的一部分。但是,我没有找到任何-Wno-xxx删除它的选项(-Wno-extra不起作用)。我正在使用 GCC 4.8.2。

我怎样才能抑制这个警告?

0 投票
0 回答
119 浏览

c++ - 编译错误:to_string 不是 std 的成员

我的代码是这样的:

当我尝试在我的 FreeBSD 9.2 机器上使用 g++ 4.8.2 编译它时,我收到以下错误:

error: 'to_string' is not a member of 'std'
std::string flag = "I got a number like : " + std::to_string(i);

是的,我正在使用-std=c++11,不,我没有使用 minGW

编译行:g++48 -g -std=c++11 -Wall -O2 -m32 -pipe -fexceptions -D_THREAD_SAFE -DNDEBUG -mtune=i686 -fstack-protector-all

0 投票
1 回答
1073 浏览

c++ - 如何在 C++ 代码中使用 CityHash128?

我正在尝试使用谷歌的 cityhash 散列函数。我无法将它链接到我的 c++ 代码。我已经安装了 cityHash,它在我的 /usr/local/lib 中生成了 libcityhash.la 等文件。

我正在设置 LD_LIB_LIBRARY=/usr/local/lib,但它似乎没有链接到这些文件。

代码:

}

编译:
g++ -o city cityHash.cpp

错误:
/tmp/cctSoHTX.o:在函数 main:cityHash.cpp:(.text+0x73):未定义引用 `CityHash128(char const*, unsigned long)' collect2:错误:ld 返回 1 退出状态

我包括“city.h”并尝试按如下方式编译它:

g++ -I /usr/local/include/ -L/usr/local/lib -llibcityhash.a cityHash.cpp -o city

但我仍然得到 :undefined reference to `CityHash128(char const*, unsigned long)' –

0 投票
1 回答
6623 浏览

ubuntu - 如何升级 gfortran

我使用的是 ubuntu 12.04,gcc/g++ 4.8,gfortran 是 4.6,我重新安装了 gfortran-4.8 和 gfortran-4.8.dev,仍然没有链接。

当我尝试编译一个项目时,它没有链接到 gfortran,如何升级到 gfortran 4.8?

0 投票
1 回答
950 浏览

c++ - 'ptr_fun(isalnum)' 不会在 g++ 中编译?

0 投票
1 回答
1651 浏览

gcc - 奇怪的链接器问题“重定位 R_X86_64_32 反对” - 不是典型的 -fPIC 问题

尝试在 Ubuntu 14.04 (64) 上创建胖共享库时遇到一个奇怪的问题。如果您忘记添加 -fPIC 或链接到错误的体系结构库,通常会收到错误消息:

第一个静态库是这样编译的:

之后应该创建一个单一的胖共享库,使用上面的库以及其他一些库(spatialite、proj4、geos、sqlite),如下所示:

将 NativeDB.o 链接到共享库会引发提到的链接器错误。另请注意,可以在没有 NativeDB.o 的情况下创建共享库。所以这里变得很奇怪,因为您在上面看到 NativeDB.o 是如何编译的,并且没有添加额外的(隐式)链接。

观察:

1)所有库都正确编译。例如,我验证了 libproj 包含重定位信息并且是正确的架构(通过 objdump -f):

我自己的 NativeDB.o 文件也是如此。

2)当gcc创建的lib被留下时,共享库被创建得很好(当然没有我的库......)。

3)我最好的猜测是,当从包含 32 位 .text 部分的静态库创建共享库时,问题来自 gcc 的一个奇怪之处:

我对一个以前失败的库(libspatialite.a 中的 version.o)做了一些实验。瞧——它修复了这个库的链接问题:

到目前为止的结论:

对我来说,这似乎是一个 gcc 编译器的奇怪之处。我希望有一个解决方法来解决我正在尝试做的事情。顺便说一句,相同的代码库(具有相似但不同的依赖项)在 OS X 上使用 clang 并构建为 dynamiclib 可以正常工作。它并没有说明太多,但代码库可能没有错。

回答前请注意:

显而易见的答案是说我应该以另一种方式捆绑我的东西。但是由于给定的原因,我真的想使用(JNI 加载、库大小等)创建一个单一的胖共享库。

如果您能与我分享您对此编译器的见解并帮助我解决它,我会很高兴。

更新 1

删除了对 g++ 的引用。仅使用 gcc 会以相同的方式发生此问题。我之前考虑过 gcc 与 g++ 的问题。

0 投票
2 回答
3073 浏览

c++ - GCC 警告“设置但未使用”

在编译 C++ 源代码时,我收到了以下警告。

变量“选项卡”已设置但未使用 [-Wunused-but-set-variable]

我有一段代码:编译显示上述警告,请告诉我为什么编译显示警告。当我运行程序时,我得到:分段错误(核心转储)

EX.1

但是如果我使用全局变量,我的程序运行良好。

例 2

请再次建议我为什么用 Ex.1 编译向我显示警告

0 投票
1 回答
180 浏览

c - 为什么 getopt_long 忽略一些命令行选项

ref: getopt_long 没有正确处理我的论点

Win7

赛格温

GCC 4.8.3

getopt_long 不返回某些输入命令行选项。在将代码投入生产之前,我试图找出 getopt_long 的行为。对于正确形成的选项,它似乎工作正常。对于格式不正确的选项,getopt_long 有时无法返回不正确的值。

这是命令行、输入、输出和代码:

输入

输出

代码