Windows下C++调用StretchDIBits出现__imp_StretchDIBits未定义引用错误
解决StretchDIBits链接错误与Win32窗口开发教程推荐
链接错误解决方案
你遇到的undefined reference to __imp_StretchDIBits错误,是因为StretchDIBits属于GDI(图形设备接口)函数,MinGW编译环境下需要显式链接gdi32库才能找到该函数的实现。
解决方法
编译代码时,在命令行末尾添加链接参数:
-lgdi32
例如,原编译命令如果是:
g++ win32_Platform.cpp -o win32_app
修改为:
g++ win32_Platform.cpp -o win32_app -lgdi32
另外,你的代码里存在一个拼写错误:buffer_heigth应改为buffer_height,虽然不影响当前链接错误,但可能导致后续绘图逻辑问题,建议修正。
Win32窗口开发教程推荐
- 《Windows程序设计》(Charles Petzold著):Win32开发的经典入门书籍,覆盖从基础窗口创建到高级GDI操作的全流程,内容系统且易懂,适合新手打基础。
- 微软官方Win32 API文档:最权威的官方参考资料,每个API函数、结构体的用法、参数说明都非常详细,适合开发时随时查阅。
- 新手分步入门教程:选择专注于基础功能的系列教程,从创建第一个窗口、理解消息循环开始,逐步扩展到GDI绘图、用户交互等功能,更容易上手。
内容的提问来源于stack exchange,提问作者Blarze
相关产品推荐
相关产品推荐

