undefined reference to 'CreateFontIndirectA@4'

hithink 2011-11-17 02:59:21
void OnPaint(HWND hWnd){
HDC hdc;
PAINTSTRUCT ps;
HFONT hfont;
LOGFONT f={0};
HGDIOBJ holdfont;
char *fonts[]={"Arial","Times New Roman","Comic Sans MS"};
int i;
hdc=BeginPaint(hWnd,&ps);
for (i=0;i<3;++i){
strcpy(f.lfFaceName,fonts[1]);
f.lfHeight=40*(i+1);
f.lfItalic=1;

hfont=CreateFontIndirect(&f);//这是这行代码,编译时提示标题给出的错误,书上就是这么给出的,头文件我也//没忘记,而且自动提示里面也没有给出这个函数,是不是废弃了?
holdfont=SelectObject(hdc,hfont);

SetTextColor(hdc,RGB(0,0,255));

TextOut(hdc,10,70*i,"Hello Windows",13);

SelectObject(hdc,holdfont);
DeleteObject(hfont);
}
EndPaint(hWnd,&ps);
}
...全文
132 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hithink 2011-11-17
  • 打赏
  • 举报
回复
谢谢,链接库加gdi32通过编译了,非常感谢!
xunxun 2011-11-17
  • 打赏
  • 举报
回复
所以我才问你编译器是啥

你这个错误是链接错误

vc链接加入Gdi32.lib
mingw gcc链接加入-lgdi32
ryfdizuo 2011-11-17
  • 打赏
  • 举报
回复
gdi是win32下的。
luciferisnotsatan 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hithink 的回复:]

引用 2 楼 xunxun1982 的回复:

编译器是啥?

头文件加入Wingdi.h

链接库加入Gdi32.lib

我查找到gdi32.a在codeblocks子目录下,应该是包含关系;头文件也加Wingdi.h,但是没有用
[/Quote]
搜下Gdi32.lib。.a是linux的静态库
luciferisnotsatan 2011-11-17
  • 打赏
  • 举报
回复
gdi32.a
.a linux代码?但看你的源代码,像是windows风格的。
luciferisnotsatan 2011-11-17
  • 打赏
  • 举报
回复
库没加入。把库加上
hithink 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xunxun1982 的回复:]

编译器是啥?

头文件加入Wingdi.h

链接库加入Gdi32.lib
[/Quote]
我查找到gdi32.a在codeblocks子目录下,应该是包含关系;头文件也加Wingdi.h,但是没有用
xunxun 2011-11-17
  • 打赏
  • 举报
回复
编译器是啥?

头文件加入Wingdi.h

链接库加入Gdi32.lib
turing-complete 2011-11-17
  • 打赏
  • 举报
回复
该包含的头文件都包了吗?

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧