我收到如下警告:
[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 做到这一点?
没有任何与编译器无关的方法可以使用 CMake 来执行此操作。编译器需要支持特定的标志(如果支持,不同的编译器甚至可能会有所不同)。
对于 GCC 和 Clang,您只需将
-Werror=implicit-function-declaration
添加到编译器标志即可。使用 CMake 应该是:
set(CMAKE_C_FLAGS "... -Werror=implicit-function-declaration")
其中
...
代表“其余的旗帜”。
有用的链接: