请教:“unresolved external symbol”为什么啊?

qingchuan2083 2009-07-06 09:53:04
请教各位大虾:
我用的是vc6.0的平台。这个程序编译没有问题,当连接时出现了:unresolved external symbol "void __cdecl areashape(double,double,double)" (?areashape@@YAXNNN@Z)。其中areashape(double,double,double)是我定义的一个函数 ,当我不用调用它时,没有错误,单调用它是出现了上面的错误,这是为什么呢?请给个解决的方法!谢谢了!
...全文
669 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingchuan2083 2009-07-06
  • 打赏
  • 举报
回复
谢谢!小弟不胜感激!解决了
Sco_field 2009-07-06
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 baihacker 的回复:]
引用 15 楼 qingchuan2083 的回复:
这个areashape(double,double,double)是在出错提示中出现的。我定义和声明的是void areashape(double judx,double judy,int dm2)。


所以出错了...
[/Quote]
楼主你使用的是(double,double,double),但你申明和定义的是(double,double,int)??
baihacker 2009-07-06
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 qingchuan2083 的回复:]
这个areashape(double,double,double)是在出错提示中出现的。我定义和声明的是void areashape(double judx,double judy,int dm2)。
[/Quote]
所以出错了...
qingchuan2083 2009-07-06
  • 打赏
  • 举报
回复
这个areashape(double,double,double)是在出错提示中出现的。我定义和声明的是void areashape(double judx,double judy,int dm2)。
qingchuan2083 2009-07-06
  • 打赏
  • 举报
回复
说明一个,这个是在控制台下编写的程序!
大前置 2009-07-06
  • 打赏
  • 举报
回复
void areashape(double judx,double judy,int dm2)

void __cdecl areashape(double,double,double)

函数参数不一样,C++支持多态,会认为是不同的函数的
qingchuan2083 2009-07-06
  • 打赏
  • 举报
回复
这个:coar[dm2].n 是我定义的一个结构体(在mian()外定义的)中的一个变量。
yashuwa0622 2009-07-06
  • 打赏
  • 举报
回复
如果是引用别的库里的函数,那要把库给连进去;如果是你自己定义的,要实现并在调用前声明该函数
padiu01 2009-07-06
  • 打赏
  • 举报
回复

void areashape(double judx,double judy,int dm2)
{
double judx1,judy1,judx2,judy2,id;
for(int i6=0;i6 <coar[dm2].n;i6++) //请问你这个coar[dm2].n,这个coar[],是哪里来的?C++中任何对象,使用的前都必须先定义
//所以,不管你下面的逻辑怎样,这个肯定是错的了
{
if(i6!=coar[dm2].n-1)
{
judx1=coar[dm2].coexbefore[i6].x;
judy1=coar[dm2].coexbefore[i6].y;
judx2=coar[dm2].coexbefore[i6+1].x;
judy2=coar[dm2].coexbefore[i6+1].y;
}
else
{
judx1=coar[dm2].coexbefore[i6].x;
judy1=coar[dm2].coexbefore[i6].y;
judx2=coar[dm2].coexbefore[i6-1].x;
judy2=coar[dm2].coexbefore[i6-1].y;
}

id=(judx-judx1)*(judx-judx2);
if(id <0)
{
double a1,b1,c1,a2,b2,c2;
a1=judy2-judy1;
b1=-(judx2-judx1);
c1=judy2*judx1-judy1*judx2;
a2=1;b2=0;c2=judx;
intersection(a1,b1,c1,a2,b2,c2);
jiaopointx=xcoord;
jiaopointy=ycoord;
break;
}
}

if(jiaopointy>judy)
{
lx2=judx; //lx2在lx4下面
ly2=judy;
lx4=jiaopointx;
ly4=jiaopointy;
}
else
{
lx2=jiaopointx;
ly2=jiaopointy;
lx4=judx;
ly4=judy;
}
}
baihacker 2009-07-06
  • 打赏
  • 举报
回复
void areashape(double judx,double judy,int dm2)
baihacker 2009-07-06
  • 打赏
  • 举报
回复
void areashape(double judx,double judy,
int
dm2)
qingchuan2083 2009-07-06
  • 打赏
  • 举报
回复
这个函数是:
void areashape(double judx,double judy,int dm2)
{
double judx1,judy1,judx2,judy2,id;
for(int i6=0;i6<coar[dm2].n;i6++)
{
if(i6!=coar[dm2].n-1)
{
judx1=coar[dm2].coexbefore[i6].x;
judy1=coar[dm2].coexbefore[i6].y;
judx2=coar[dm2].coexbefore[i6+1].x;
judy2=coar[dm2].coexbefore[i6+1].y;
}
else
{
judx1=coar[dm2].coexbefore[i6].x;
judy1=coar[dm2].coexbefore[i6].y;
judx2=coar[dm2].coexbefore[i6-1].x;
judy2=coar[dm2].coexbefore[i6-1].y;
}

id=(judx-judx1)*(judx-judx2);
if(id<0)
{
double a1,b1,c1,a2,b2,c2;
a1=judy2-judy1;
b1=-(judx2-judx1);
c1=judy2*judx1-judy1*judx2;
a2=1;b2=0;c2=judx;
intersection(a1,b1,c1,a2,b2,c2);
jiaopointx=xcoord;
jiaopointy=ycoord;
break;
}
}

if(jiaopointy>judy)
{
lx2=judx; //lx2在lx4下面
ly2=judy;
lx4=jiaopointx;
ly4=jiaopointy;
}
else
{
lx2=jiaopointx;
ly2=jiaopointy;
lx4=judx;
ly4=judy;
}
}
qingchuan2083 2009-07-06
  • 打赏
  • 举报
回复
这个函数我实现了啊,有具体的内容!
mengde007 2009-07-06
  • 打赏
  • 举报
回复
有函数体没;
blh 2009-07-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 qingchuan2083 的帖子:]
请教各位大虾:
我用的是vc6.0的平台。这个程序编译没有问题,当连接时出现了:unresolved external symbol "void __cdecl areashape(double,double,double)" (?areashape@@YAXNNN@Z)。其中areashape(double,double,double)是我定义的一个函数 ,当我不用调用它时,没有错误,单调用它是出现了上面的错误,这是为什么呢?请给个解决的方法!谢谢了!
[/Quote]

你那个有areashape的库没有加入工程?
fairchild811 2009-07-06
  • 打赏
  • 举报
回复
缺函数的具体实现,也就是函数题

void foo(void)
{
//少了这个括号和里面的内容
}
大前置 2009-07-06
  • 打赏
  • 举报
回复

链接库失败

如果你定义的库是在库中:
把lib文件加进
project->setting->Link -->>Object/library mopdules


如果是在其它文件中,把函数所在文件也添加到工程文件中来
problc 2009-07-06
  • 打赏
  • 举报
回复
link的时候找不到lib吧,指定一下link选项

64,654

社区成员

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

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