- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试学习这门类(class) ( https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-s096-effective-programming-in-c-and-c-january-iap-2014/getting-started/ ),但遇到了一些编译问题。
建议使用 gcc、make 和下面的 Makefile。
我不知道我收到的错误消息是否与 C 源代码中的某些内容有关(似乎不太可能),或者是否与我配置 gcc 选项的方式有关。
$ gcc-8 -v
Using built-in specs.
COLLECT_GCC=gcc-8
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/8.1.0/libexec/gcc/x86_64-apple-darwin17.5.0/8.1.0/lto-wrapper
Target: x86_64-apple-darwin17.5.0
Configured with: ../configure --build=x86_64-apple-darwin17.5.0 --prefix=/usr/local/Cellar/gcc/8.1.0 --libdir=/usr/local/Cellar/gcc/8.1.0/lib/gcc/8 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-8 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl --with-system-zlib --enable-checking=release --with-pkgversion='Homebrew GCC 8.1.0' --with-bugurl=https://github.com/Homebrew/homebrew-core/issues --disable-nls
Thread model: posix
gcc version 8.1.0 (Homebrew GCC 8.1.0)
$ gmake -v
GNU Make 4.2.1
Built for x86_64-apple-darwin17.0.0
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ cat Makefile
CC:=gcc-8
CFLAGS:=-O0 -g -std=c99 -Wall -Wextra -Wshadow -pedantic –Werror
CXXFLAGS:=-O0 -g -std=c++11 -Wall -Wextra -Wshadow -pedantic -Weffc++ -Werror
$ cat nothing.c
int main (void){
return 0;
}
$ gmake nothing
gcc-8 -O0 -g -std=c99 -Wall -Wextra -Wshadow -pedantic –Werror nothing.c -o nothing
gcc-8: error: –Werror: No such file or directory
gmake: *** [<builtin>: nothing] Error 1
最佳答案
这里的问题是,在您的 makefile 中,破折号 before Werror
不是标准破折号,而是 unicode 破折号(代码 8211)
-pedantic –Werror
如果仔细观察,长度略有不同。有时文字处理器或电子邮件客户端会出于某些美观原因而切换破折号...
结果是选项解析器将其视为一个文件,而不是一个选项,并尝试打开它进行编译。
修复是显而易见的,当您知道:在 CFLAGS
中使用正确的破折号(破折号在 CPPFLAGS
中是可以的):
-pedantic -Werror
关于c - gcc "–Werror: No such file"指的是目标还是 Werror 用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51350416/
我正在尝试学习这门类(class) ( https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-s096-e
这是一个 android 项目,当我决定在运行 javac 程序时将警告视为错误时,我的 ant 构建脚本有时会失败。说真的,它只是有时会这样做,这是我可能会问的另一个问题。 它将打印错误并突然取消构
如何在 Linux 中抑制 -Werror=pointer-to-int-cast 和 -Werror=address 类错误? 我知道下面是用于抑制上述错误的选项。 -Wno-error=addre
构建时出现以下错误: ...has undefined behavior [-Werror,-Wundefined-reinterpret-cast] Bazel 构建完全停止,因为 clang (l
我正在尝试将我的工作代码从 Mac OS X 移植到 GNU/Linux。 我使用的是 qsort_r,其原型(prototype)在 FreeBSD 和 GNU/Linux 上是不同的。 因此,我将
一般来说,标志位-Werror就是让所有的警告都变成错误。但它并不总是相同的。 int j; int main() { int i = 10; return 0; } 如果我输入g++
// set all values in the hash table to null for(int i = 0; i < HASH_SIZE; i++) { hashtable[i] =
我有以下测试代码 test.c : #include int *func() { int i = 123; return &i; } int main() { printf("
我正在使用模块来处理依赖项的服务器上远程工作。我正在尝试安装 dssp (https://github.com/cmbi/dssp)。在 github 上可以看到依赖项。 我加载的模块是: Curre
我正在尝试调用这个函数 static inline void insert(Buffer *buf, double f, size_t index) { insert_64(buf, *(uin
(第 43-56 行)我正在尝试为 pset 5 实现加载函数。我创建了一个嵌套的 while 循环,第一个循环迭代直到文件末尾,另一个循环迭代直到每个单词结束。我创建了 char *c 来存储我从字
目前我正在使用此命令在 Mint 中编译我的 .c 文件 gcc -std=gnu99 -Wall -Werror filename.c -o filename [-lm] 如何将这些参数设为默认值,
自学 C++ 并处理我在本地 Barnes and Noble 挑选的一本书中的示例。 “Marc Greggoire 的专业 C++”。我没有意识到这本书是为那些比我经验多一点的人准备的,但我一直在
我在功能方面遇到了一个小问题。我相信这可能是因为我没有正确使用它们。我的代码如下: int duration(string fraction) { // X part of the fract
如果 cc 配置设置为使用 -Werror 是否有办法在使用 make 时从终端覆盖 -Werror 标志? 最佳答案 您可以在调用 make 时设置标志: CFLAGS=-Wno-error mak
我想从源代码构建 nginx。所以我写了一个 bash 脚本来做到这一点: #!/bin/bash export LD_LIBRARY_PATH="/usr/lib64:$LD_LIBRARY_PAT
这是源文件 get.c 的内容: #include int main(){ //int i = 0; char b[10]; gets(b); puts(b); return 0
在使用 Makefile 制作项目时,出现此错误: error: implicit declaration of function ‘fatal’ [-Werror=implicit-function
禁止将特定警告视为GCC错误的正确标志或标志顺序是什么?我想为-Wimplicit-interface做到这一点。 >cat test.f90 call s end > gfortran -c -W
我正在尝试安装 nano-hmac-0.2.0使用 Cabal 和 GHC 6.12.1 从 Hackage 中下载包(我想要的包的依赖项),但失败并出现以下错误: Data/Digest/OpenS
我是一名优秀的程序员,十分优秀!