VC++中这个错误: unresolved external symbol

我做一个密码算法的程序遇到了一个问题搞了一下午都没弄出来.我想跳楼.问题如下:我用了三个.cpp文件.我在主函数文件中调用了另一个文件的下面两个函数,我确定我在main函... 我做一个密码算法的程序遇到了一个问题搞了一下午都没弄出来.
我想跳楼.
问题如下:我用了三个.cpp文件.我在主函数文件中调用了另一个文件的下面两个函数,我确定我在main函数中调用了.不是网上说的那种定义了但没用到.而且编译都没问题.
网上说的各种方法我几乎都看了不行.
main.obj : error LNK2001: unresolved external symbol "int __cdecl K_0(int *,int)" (?K_0@@YAHPAHH@Z)
main.obj : error LNK2001: unresolved external symbol "int __cdecl Input(void)" (?Input@@YAHXZ)
Debug/DES.exe : fatal error LNK1120: 2 unresolved externals
执行 link.exe 时出错.

DES.exe - 1 error(s), 0 warning(s)
展开
 我来答
C_LIFEI
推荐于2017-10-12 · TA获得超过800个赞
知道小有建树答主
回答量:431
采纳率:0%
帮助的人:352万
展开全部
unresolved external symbol 这类错误是编译器找不到指定的符号定义。
它是在连接的时候出现的,有两种可能:1、你写的这个函数只有省名,没有定义,
2、这个函数是动态连接库导出的函数,而你没有连接它的lib库文件可以用“#pragma comment(lib, "那个库.lib")”编译命令或设置VC的lib文件路径。

按你所说的应该是自己写的函数,你确信你对这两个函数做了定义(而不是声明,也就是有这两个函数的实现代码)并包含了这个函数的头文件.
方便的话把与这个函数相关的代码贴出来吧
令狐肿
2012-02-25 · TA获得超过227个赞
知道小有建树答主
回答量:295
采纳率:100%
帮助的人:167万
展开全部
比如你在A.cpp里写了
int K_0(int* A,int B)
{
return *A+B;
}
在B.cpp里写了
int Input()
{
return (int)GetTickCount();
}
那么就在main.cpp里加入这两句:
int K_0(int* ,int);
int Input();
然后就可以调用了。
注意:告诉你的编译器,A.cpp和B.cpp参与编译,如果没有编译,那就在VC++工程设置里把“组件是排除文件”去掉。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanfustudio
2009-04-19 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3740万
展开全部
加个extern 试试

extern int K_0(int*,int);
extern int Input(void);

如果还不行,
确认一下是否另外的cpp也在工程里面,如果不在添加就是了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rich_cw
2009-04-19 · TA获得超过194个赞
知道小有建树答主
回答量:141
采纳率:100%
帮助的人:116万
展开全部
何不弄个头文件,这个头文件包含 这两个函数的声明,然后在 cpp 里面包含那个头文件。
直接 include 那个 cpp 文件也可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-06-07
展开全部
我的是重复声明函数导致的问题,
int xxx();
{
...

void DrawObject(CDC *pDC);
DrawObject();
...

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式