未定义引用'SetCurrentConsoleFontEx'?

时间:2013-11-18 13:34:02

标签: c windows winapi mingw32

编译此代码时:

PCONSOLE_FONT_INFOEX Font_Info;
//Adjust heights
Font_Info.dwFontSize.X = 9;
Font_Info.dwFontSize.Y = 9;
SetCurrentConsoleFontEx( StdHandle, FALSE, Font_Info);

海湾合作委员会报告

undefined reference to 'SetCurrentConsoleFontEx'

但是MSDN说标题是#include<windows.h>

http://msdn.microsoft.com/en-us/library/windows/desktop/ms686200(v=vs.85).aspx

为什么呢?以及如何解决这个问题?感谢。

PS,

我在wincon.hwindows.h

中找不到任何声明

2 个答案:

答案 0 :(得分:1)

这不是第一次从MinGW的SDK中缺少一个函数,尤其是最近没有像SetCurrentConsoleFontEx那样只从Vista开始暴露的函数。

你的libkernel32.a太旧了;如果你想在MinGW中使用这个功能,你可能需要动态地访问它。

答案 1 :(得分:0)

未定义的引用是指链接问题。定义可能在windows.h中,但您需要链接到相应的库(Kernel32.lib)以生成最终的二进制文件。