gcc-warning相关内容

如何在if-else语句中使用C ++ 20的可能/不太可能属性

这个问题与C ++ 20的 [[可能]] / [[不太可能]] 功能有关,不是编译器定义的宏。 此文档( cppreference )仅举了一个将它们应用于switch-case语句的示例。 这个切换案例可以使用我的编译器(g ++-7.2)完美地编译,因此我认为编译器已经实现了此功能,尽管当前C ++标准中尚未正式引入该功能。 但是当我这样使用它们时: if(condition)[[ ..
发布时间:2020-09-26 23:52:54 C/C++开发

gcc过度对齐的新支持(alignas)

我很难找到有关GCC新对齐警告和gcc -faligned-new选项的更多信息.在gcc 7.2.0上编译(不带--std = c ++ 17),并尝试定义对齐的结构,例如: struct alignas(64) Foo { int x; } 只需做一个普通的老话: Foo * f = new Foo(); 给我以下警告和建议: alignas.cpp:36:25: ..
发布时间:2020-07-29 19:09:23 C/C++开发

压制海湾合作委员会建议的候选人

我正在使用gcc 4.7.2.我的代码非常注重模板和 boost 的用法.当我进行编译并且定义或使用歧义时,我经常会收到错误消息,提示有两个候选对象,通常在它们单独的“在[某深层路径]中包含的文件中:"中定义,并为每个候选对象提供相应的错误消息,以说明原因那个特定的候选人失败了.尤其是使用boost和template时,即使是这样的单个错误也变得完全难以理解. 我的问题: 是否可以控制 ..
发布时间:2020-05-21 22:03:00 其他开发

mingw printf尺寸说明字符h

Visual Studio具有大小和距离规范图表说我可以做这样的事情,使用h前缀指定单字节字符串,而不管printf还是wprintf: int main() { char test[]= "abc"; _tprintf(_T("%hs\n"),test); } 但是,如果我使用mingw gcc和-Wall编译相同的内容,则会收到以下警告: warning: format '%hs' ..
发布时间:2020-05-09 22:21:18 其他开发

在范围内没有原型的情况下定义的函数的编译器警告?

[问题来自此答案的注释主题.] 众所周知,自C99以来,调用尚未声明的函数(最好使用适当的原型)是错误的. 但是,除此之外,如果我定义在范围内没有原型声明的函数(可能包含在调用者正在使用的同一头文件中),我希望编译器向我发出警告. (除非该函数是静态的,否则所有这些都是没有意义的.) 原因应该很明显:如果标头中包含原型声明,并且所有调用方都包含该声明,但是该声明未包含在定义函数的 ..

DSO引用libc_nonshared.a(stat.oS)中的隐藏符号"stat"

我正在尝试使用共享库(libscplugin.so)中包含的方法. 我已经满足所有图书馆的要求: libc.so,带有指向libc.so.6 的符号链接 libz.so,带有指向libz.so.1.2.8 的符号链接 libstdc++.so,带有指向libstdc++.so.6.0.20 的符号链接 编译后,出现以下错误消息: $ gcc test.c -o tes ..
发布时间:2020-04-30 08:37:15 其他开发

如何获得编译器警告JUCE - Ubuntu

我最近在处理错误这应该很容易通过一个简单的编译器警告实现。 有谁知道如何编译JUCE项目时显示编译器警告 make 在Ubuntu上? 我尝试过: make -Wall 来自 gcc / gnu警告选项文档 - >不变 make v = 1 - >它很冗长,但没有显示警告 在Projucer中编辑实时生成设置 - >在Ubuntu上无法运行实时生成 编辑:由OMGtec ..
发布时间:2018-04-21 11:30:51 C/C++开发

编译错误安装python-igraph:警告视为错误

尝试使用pip为Python 3安装 python-igraph ,我得到以下编译器错误。我可以改变一些东西,或者这是igraph中的错误吗?注意行 cc1:最后一些警告被视为错误 - 如果它们只是警告,我可以忽略它们吗? 提取igraph-0.7.0.tar.gz ... 配置igraph ... 构建类型:静态扩展名 包含路径:igraphcore / include ..
发布时间:2018-04-21 11:17:28 Python

没有成员编译错误

错误:'list_item_t'没有名为'state'的成员 任何有创意的想法如何让这段代码无需警告和错误而编译? $ b $ #if defined(_DEBUG_) #define ASSERT assert #else / * _DEBUG_ * / #定义ASSERT(exp)((void)(exp)) #endif` typedef struct list_i ..
发布时间:2018-04-21 11:11:08 服务器开发

在gcc中禁用检查覆盖

有没有办法强制gcc忽略由C ++ 11的重载产生的错误? 说明:我想在程序中启用C ++ 11。不幸的是,它滥用了库中的一些函数和宏,导致许多被标记的覆盖,但不覆盖错误。所以我想禁用错误,只是为了检查是否有更多问题,然后逐步更换错误。 我检查了 - W 选项,但他们只处理warings。这是一个真正的错误。 解决方案 作为一种黑客,您可以使用 -Doverride = 在命令 ..
发布时间:2018-04-21 11:03:49 其他开发

GCC警告:ISO C不允许命名可变宏

使用以下命令: gcc -c -Wall -Wextra -pedantic -ansi -std = c99 -fstack-protector -all -fstack-check -O3 root.c -o rootTESTOBJECT 我得到编译器警告 root.h:76:22:warning:ISO C不允许命名可变宏 72 #ifdef调试 73 ..
发布时间:2018-04-21 10:43:15 其他开发

隐式转换的gcc警告标志

double getSomeValue() { 返回4.0; } ... std :: string str; str = getSomeValue(); 正如您在这里看到的,很容易发现问题,但是在大代码库中 getSomeValue()与调用代码不在同一个文件中,因此可能很难将这个 double 指向 std :: string 静音转换。 GCC使用 -Wa ..
发布时间:2018-04-21 10:43:00 C/C++开发