gcc-warning相关内容
这个问题与C ++ 20的 [[可能]] / [[不太可能]] 功能有关,不是编译器定义的宏。 此文档( cppreference )仅举了一个将它们应用于switch-case语句的示例。 这个切换案例可以使用我的编译器(g ++-7.2)完美地编译,因此我认为编译器已经实现了此功能,尽管当前C ++标准中尚未正式引入该功能。 但是当我这样使用它们时: if(condition)[[
..
在我的项目的头文件之一中,inline方法中包含以下行 typedef boost::archive::iterators::transform_width
..
您好,程序员, 目前,我正在尝试在Ubuntu上安装 Charm-Crypto 0.43 .不幸的是,似乎没有任何工作.我尝试了链接的手动安装以及pip install charm-crypto 我总是收到此错误日志: [...] running build_ext building 'charm.core.math.pairing' extension creatin
..
我很难找到有关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:
..
gcc 6.3的手册页说: --wrap=symbol Use a wrapper function for symbol. Any undefined reference to symbol will be resolved to "__wrap_symbol". Any undefined reference to "
..
我收到以下gcc格式截断警告: test.c:8:33: warning: ‘/input’ directive output may be truncated writing 6 bytes into a region of size between 1 and 20 [-Wformat-truncation=] snprintf(dst, sizeof(dst), "%s-more",
..
我正在使用gcc 4.7.2.我的代码非常注重模板和 boost 的用法.当我进行编译并且定义或使用歧义时,我经常会收到错误消息,提示有两个候选对象,通常在它们单独的“在[某深层路径]中包含的文件中:"中定义,并为每个候选对象提供相应的错误消息,以说明原因那个特定的候选人失败了.尤其是使用boost和template时,即使是这样的单个错误也变得完全难以理解. 我的问题: 是否可以控制
..
Visual Studio具有大小和距离规范图表说我可以做这样的事情,使用h前缀指定单字节字符串,而不管printf还是wprintf: int main() { char test[]= "abc"; _tprintf(_T("%hs\n"),test); } 但是,如果我使用mingw gcc和-Wall编译相同的内容,则会收到以下警告: warning: format '%hs'
..
会发生什么 当我尝试按照Eigen上的教程向std::vector中添加Eigen::Vector3f时网站是这样的: #include #include #include template using EigenStdVector = std::vector
..
[问题来自此答案的注释主题.] 众所周知,自C99以来,调用尚未声明的函数(最好使用适当的原型)是错误的. 但是,除此之外,如果我定义在范围内没有原型声明的函数(可能包含在调用者正在使用的同一头文件中),我希望编译器向我发出警告. (除非该函数是静态的,否则所有这些都是没有意义的.) 原因应该很明显:如果标头中包含原型声明,并且所有调用方都包含该声明,但是该声明未包含在定义函数的
..
我正在尝试使用共享库(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
..
我最近在处理错误这应该很容易通过一个简单的编译器警告实现。 有谁知道如何编译JUCE项目时显示编译器警告 make 在Ubuntu上? 我尝试过: make -Wall 来自 gcc / gnu警告选项文档 - >不变 make v = 1 - >它很冗长,但没有显示警告 在Projucer中编辑实时生成设置 - >在Ubuntu上无法运行实时生成 编辑:由OMGtec
..
尝试使用pip为Python 3安装 python-igraph ,我得到以下编译器错误。我可以改变一些东西,或者这是igraph中的错误吗?注意行 cc1:最后一些警告被视为错误 - 如果它们只是警告,我可以忽略它们吗? 提取igraph-0.7.0.tar.gz ... 配置igraph ... 构建类型:静态扩展名 包含路径:igraphcore / include
..
C:/ Ruby22 / bin / ruby.exe -r ./siteconf20150427-5772-lng4pk.rb extconf.rb 创建Makefile make“DESTDIR =”clean make“DESTDIR =“ 生成byebug-i386-mingw32.def 编译breakpoint.c cc1.exe:警告被视为错误 在c:/
..
错误:'list_item_t'没有名为'state'的成员 任何有创意的想法如何让这段代码无需警告和错误而编译? $ b $ #if defined(_DEBUG_) #define ASSERT assert #else / * _DEBUG_ * / #定义ASSERT(exp)((void)(exp)) #endif` typedef struct list_i
..
有没有办法强制gcc忽略由C ++ 11的重载产生的错误? 说明:我想在程序中启用C ++ 11。不幸的是,它滥用了库中的一些函数和宏,导致许多被标记的覆盖,但不覆盖错误。所以我想禁用错误,只是为了检查是否有更多问题,然后逐步更换错误。 我检查了 - W 选项,但他们只处理warings。这是一个真正的错误。 解决方案 作为一种黑客,您可以使用 -Doverride = 在命令
..
为了编译我的C ++代码,我使用了 -W 标志,这会导致警告: 警告:无符号表达式的比较
..
使用以下命令: 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
..
double getSomeValue() { 返回4.0; } ... std :: string str; str = getSomeValue(); 正如您在这里看到的,很容易发现问题,但是在大代码库中 getSomeValue()与调用代码不在同一个文件中,因此可能很难将这个 double 指向 std :: string 静音转换。 GCC使用 -Wa
..
考虑以下两个宏: #define PNORM(v,s,...){\ $ b $(b)if(VERBOSITY_CHECK(v)){\ if((errno = pthread_mutex_lock(& server.output_mutex))){\ PERROR_LOCKFREE(正常,“\ tpthread_mutex_lock在output_mutex上失败。 \r\\\ “)
..