在CMD中绘图遇__imp_SetPixelV未定义引用及WINAPI宏问题求助
解决SetPixelV未定义引用及WINAPI_FAMILY配置问题
- 不要自行定义
WINAPI_FAMILY_PARTITION宏,这个宏在系统头文件中已有标准实现,自定义会破坏Win32基础类型(如DWORD)的定义逻辑。 - 正确启用桌面版Win32 API的方式是在包含
<windows.h>之前定义WINAPI_FAMILY:
这样#define WINAPI_FAMILY WINAPI_FAMILY_DESKTOP_APP #include <windows.h>wingdi.h会自动识别并包含SetPixelV的函数声明。 - 编译时必须链接GDI库:
- 若使用MinGW,编译命令添加
-lgdi32参数:gcc your_source.c -o output.exe -lgdi32 - 若使用MSVC,在编译选项中加入
gdi32.lib:cl your_source.c gdi32.lib
- 若使用MinGW,编译命令添加
- 可在代码中加入编译检查,确认
SetPixelV是否正常启用:#ifdef SetPixelV // 函数已正常声明 #else #error SetPixelV is not available, check WINAPI_FAMILY definition #endif
内容的提问来源于stack exchange,提问作者Sasha Net Official
相关产品推荐
相关产品推荐

