4602|6

80

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

EVC的编译错误,主要是error LNK2019,高手请进,轻松拿分 [复制链接]

ps2keybd.obj : error LNK2019: unresolved external symbol "int __cdecl KernelIoControl(unsigned long,void *,unsigned long,void *,unsigned long,unsigned long *)" (?KernelIoControl@@YAHKPAXK0KPAK@Z) referenced in function "public: int __cdecl Ps2Keybd:
:IsrThreadProc(void)" (?IsrThreadProc@Ps2Keybd@@QAAHXZ)
ps2keybd.obj : error LNK2019: unresolved external symbol "int __cdecl InterruptInitialize(unsigned long,void *,void *,unsigned long)" (?InterruptInitialize@@YAHKPAX0K@Z) referenced in function "public: int __cdecl Ps2Keybd::IsrThreadProc(void)" (?Is
rThreadProc@Ps2Keybd@@QAAHXZ)
ps2port.obj : error LNK2019: unresolved external symbol READ_PORT_UCHAR referenced in function "private: bool __cdecl Ps2Port::InputBufPollForEmpty(void)" (?InputBufPollForEmpty@Ps2Port@@AAA_NXZ)
ps2port.obj : error LNK2019: unresolved external symbol WRITE_PORT_UCHAR referenced in function "private: bool __cdecl Ps2Port::EnterWrite(void)" (?EnterWrite@Ps2Port@@AAA_NXZ)
MIPSIIRel/PosArmJz.exe : fatal error LNK1120: 4 unresolved externals

高手们,这些未解决的外部变量我都有定义了啊,怎么还会不认呢?怎么解决啊?

最新回复

把链接库的路径加上试试看  详情 回复 发表于 2008-3-3 08:34
点赞 关注

回复
举报

66

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
不要乱引用你的头文件啊,主意包含和被包含关系,自己理理啊,问题不大
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
首先强调一点,这些不是compile error,
而是 link error.

是你缺少包含相应的lib文件
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 
#include "stdafx.h"加在.cpp文件的开始.
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

5
 
too strange.
Can type chinese?
Add follow codes to your *.cpp.
then the first lnk can be cleared.
the last two lnk i can't test, you need to try yourself.


extern "C" __declspec(dllimport)
BOOL KernelIoControl(
                                         DWORD dwIoControlCode,
                                         LPVOID lpInBuf,
                                         DWORD nInBufSize,
                                         LPVOID lpOutBuf,
                                         DWORD nOutBufSize,
                                         LPDWORD lpBytesReturned);

extern "C" __declspec(dllimport)
BOOL InterruptInitialize(
  DWORD idInt,
  HANDLE hEvent,
  LPVOID pvData,
  DWORD cbData
);

 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

6
 
楼主在写驱动还是应用程序?
如果是驱动,你要把Coredll.lib Link进来,因为KernelIoControl和InterruptInitialize都在这个Lib中。
还有CEDDK.lib也要,READ_PORT_UCHAR和WRITE_PORT_UCHAR在这个Lib中。


如果应用程序,也可以像上面那样做。
但建议还是LoadLibray和GetProcAddress来加载。
KernelIoControl和InterruptInitialize在CoreDll.dll里,另两个不知道在哪个DLL里,你自己找找看。

 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

7
 
把链接库的路径加上试试看
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表