warning: cast to pointer from integer of different size,Makefile屏蔽
时间: 2023-12-10 12:42:28 浏览: 36
这个警告信息通常是因为你在将一个整数类型转换为指针类型时存在类型不匹配的问题。这可能会导致程序运行时出现问题,因此应该尽可能避免这种类型的转换。
如果你确信转换是必要的,可以使用类型转换运算符来显式地进行类型转换,如下所示:
```c
int i = 10;
void *ptr = (void *) i;
```
另外,在 Makefile 中屏蔽警告信息可以通过在编译选项中添加 `-Wno-pointer-to-int-cast` 参数来实现。例如:
```
CFLAGS += -Wno-pointer-to-int-cast
```
这样就可以在编译时屏蔽这个警告了。不过,建议尽可能修复代码中存在的类型转换问题,以避免潜在的运行时错误。
相关问题
qt 怎么屏蔽掉 warning: use of old-style cast 警告?
可以通过在代码中添加以下编译指令来屏蔽此类警告:
```cpp
#pragma GCC diagnostic ignored "-Wold-style-cast"
```
或者在.pro文件中添加以下代码:
```makefile
QMAKE_CXXFLAGS += -Wno-old-style-cast
```
这样就可以在编译时忽略掉此类警告。不过需要注意的是,这样做可能会掩盖真正的问题,不建议长期采用。最好的解决方法是修改代码,使用新式的 C++ 强制类型转换。
makefile:1: warning: NUL character seen; rest of line ignored makefile:1: *** missing separator. Stop.
这个错误通常是因为 Makefile 文件中的某一行包含了不可见字符,比如空格或制表符。你需要打开 Makefile 文件,并将该行中的不可见字符删除或替换为可见字符,然后保存并重新运行 make 命令。如果你无法找到不可见字符,可以尝试重新编写该行,或者将整个 Makefile 文件复制到一个新文件中。