xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
阅读:1942回复:10

关于编译结果是外部符号的问题:error LINK2001

楼主#
更多 发布于:2004-08-20 10:54
我很少搞驱动,虽然老早在这里报了名,但始终是个初学者
今天写了一个小驱动,基本上用的是 C 语言方式,至于有没有 C ++
的内容目前还没有找出来(基本代码是同事编写的可在Win98下直接同并口通信的一些函数),有关驱动编译开关的基本选项我好像已经
加上,但编译时出现:
FTM210R12.obj : error LNK2001: unresolved external symbol __fltused
FTM210R12.obj : error LNK2001: unresolved external symbol __ftol
DebugFtm210R12.SYS : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

现在请各位大虾帮个忙,如果要解决 C++ 和 C 问题需要添加或去掉
那些编译开关,下面是当前的,NTDDK.h已经从 ddk 移到 inc
/nologo /Gz /ML /W3 /Gm /Gi /Zi /I "D:NTDDKinc" /D "_DEBUG" /D "_X86_" /D _WIN32_WINNT=0x500 /Fp"Debug/Ftm210R12.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /Gs -GF /c
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2004-08-20 11:03
你用的是什么函数???
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
FutureNow
驱动牛犊
驱动牛犊
  • 注册日期2003-06-18
  • 最后登录2007-07-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-20 11:15
找一找__fltused是在哪儿定义的,把这个文件include进去,再不灵就是不兼容了!
有梦才有未来!梦是做出来的!继续做梦,努力工作,享受生活!
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-08-20 11:18
只是用了READ_PORT_UCGAR 和 WRITE_PORT_UCAHR
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-08-20 11:19
只是用了READ_PORT_UCHAR 和 WRITE_PORT_UCHAR
cdw
cdw
驱动牛犊
驱动牛犊
  • 注册日期2002-12-25
  • 最后登录2009-11-08
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-08-20 11:35
是不是用了浮点数?
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-08-20 11:40
没有用浮点数和const
Sundsea
驱动老牛
驱动老牛
  • 注册日期2003-05-06
  • 最后登录2012-06-05
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望35点
  • 贡献值0点
  • 好评度15点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-08-22 21:48
库文件缺少吧。
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2004-08-23 17:51
没有用float?用了math.h的函数了?
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-08-27 15:57
我没有用什么特别或难以理解的 C 库函数,使用的是下面这样的形式

一、缓冲操作函数
UCHAR GetData(PUCAHR pBuf, ULONG ulBufLen)
{
     PUCHAR pb = (PUCHAR)pBuf;

     if ((NULL == pBuf) || (NULL == pb))
     {
          return 0;
     }//end if ((NULL == pBuf) || (NULL == pb))

     //头文件中读数据缓冲的宏定义
     //#define ReadBuffer( port, pBuf, lsize ) READ_PORT_BUFFER_UCAHR( port, pBuf, lsize )

     ReadBuffer( port, pb, ulBufLen );

     pb = NULL;

     return 1;
}

二、判断语句
int a = (b > 3) ? GetState() : 0;
xx_focus
驱动中牛
驱动中牛
  • 注册日期2003-08-06
  • 最后登录2007-06-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望10点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-08-27 21:50
另外我还是用了逻辑操作

reg0 |= 0x80;
reg1 &= 0x10;

等。

不知道有没有影响?望各位大虾赐教一二。谢谢!
游客

返回顶部