| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2428 人关注过本帖
标题:为什么我老链接不上user32.lib的函数
只看楼主 加入收藏
maroon
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-7-23
收藏
 问题点数:0 回复次数:2 
为什么我老链接不上user32.lib的函数

我的程序很简单,用的是VC++6.0目的就是为了得到系统中的显卡数量,需要调用API,EnumDisplayDevices,(应该是用到user32.lib)编译通过,但到了链接就出现错误,
Linking...
monitorinfo.obj : error LNK2001: unresolved external symbol _xEnumDisplayDevices@16
起初我想#include <multimon.h>中声明了EnumDisplayDevice函数,所以可以编译通过,也许是user32.lib中没这个导出函数,我用dumpbin查看了user32.lib果然没有EnumDisplayDevicesuser导出,所以就看了看vs2005中的user32.lib,发现他有EnumDisplayDevicesuser导出,但是名字可能怪异一点,叫_EnumDisplayDevicesA@16,但是我还是把vs2005中的user32.lib,替换了VC6.0下的user32.lib,build时还是同样的错误,这是怎么回事呢?
Debug/MONITORINFO.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

MONITORINFO.exe - 2 error(s), 0 warning(s)
#include <Windows.h>
#include <Winuser.h>
#if _WIN32_WINNT >= 0x0500
#include <windef.h>
#else
#include <multimon.h>
#endif

int main(int argc ,char *argv[])
{
int i;
BOOL flag;
DISPLAY_DEVICE dd;
i = 0;
flag = true;
ZeroMemory(&dd, sizeof(dd));
dd.cb = sizeof(dd);
do
{
flag = EnumDisplayDevices(NULL, i, &dd, 0);
if (flag) i += 1;
} while (flag);

// m_monitorNum = i; //总数量
// GetMonitorInfo(HMONITOR hMonitor,LPMONITORINFO lpmi) ;
return 1;
}

搜索更多相关主题的帖子: 函数 链接 
2007-07-24 14:11
maroon
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-7-23
收藏
得分:0 
2007-07-24 18:43
flyue
Rank: 10Rank: 10Rank: 10
来 自:江南西道
等 级:贵宾
威 望:19
帖 子:3465
专家分:1563
注 册:2006-6-20
收藏
得分:0 

加上
#pragma comment(lib,"user32.lib");


天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
2007-07-25 18:46
快速回复:为什么我老链接不上user32.lib的函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011666 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved