如何将隐式函数声明视为 CMake 错误?

问题描述 投票:0回答:1

我收到如下警告:

[build] ../mycode.c: In function ‘time_start’:
[build] ../mycode.c:48:21: warning: implicit declaration of function ‘gettimeofday’ [-Wimplicit-function-declaration]
[build]  void time_start() { gettimeofday(&tv1, &timezone); }
[build]                      ^~~~~~~~~~~~

我怀疑我根本没有这些函数的标题。我想将它们转换为错误。我怎样才能用 CMake 做到这一点?

c cmake warnings
1个回答
1
投票

没有任何与编译器无关的方法可以使用 CMake 来执行此操作。编译器需要支持特定的标志(如果支持,不同的编译器甚至可能会有所不同)。

对于 GCC 和 Clang,您只需将

-Werror=implicit-function-declaration
添加到编译器标志即可。使用 CMake 应该是:

set(CMAKE_C_FLAGS "... -Werror=implicit-function-declaration")

其中

...
代表“其余的旗帜”。

有用的链接:

© www.soinside.com 2019 - 2024. All rights reserved.