当前位置: 技术问答>linux和unix
关于error LNK2001: unresolved external symbol 的一个发现
来源: 互联网 发布时间:2017-03-05
本文导语: 我在vc中编译了如下程序 file1.c #include #include #include #include #include void myname(void); void mytime(void); void mylove(void); void main() { myname(); mytime(); mylove(); } file2.cpp void myname() { printf("my name is fres...
我在vc中编译了如下程序
file1.c
#include
#include
#include
#include
#include
void myname(void);
void mytime(void);
void mylove(void);
void main()
{
myname();
mytime();
mylove();
}
file2.cpp
void myname()
{
printf("my name is fresh bird");
}
file3.c
void mytime()
{
printf("now,the time is 22:37");
}
file4.c
void mylove()
{
printf("i love you ,helper");
}
结果在build的时候出现如下错误:
error LNK2001: unresolved external symbol
fatal error LNK1120: 1 unresolved externals
说是没有解决外部符号问题,找度娘找了几天都没有解决。仔细看了一下文件
结果发现file2.cpp不是.c文件。起初的时候我编写程序的时候认为这该没有问题吧,后来
实在没有办法了所以就将file2.cpp改为file2.c结果就成功了!程序可以运行了!
或许我这个发现很不值得一提,但还是希望后来人如果有这个问题可以参考一下!
file1.c
#include
#include
#include
#include
#include
void myname(void);
void mytime(void);
void mylove(void);
void main()
{
myname();
mytime();
mylove();
}
file2.cpp
void myname()
{
printf("my name is fresh bird");
}
file3.c
void mytime()
{
printf("now,the time is 22:37");
}
file4.c
void mylove()
{
printf("i love you ,helper");
}
结果在build的时候出现如下错误:
error LNK2001: unresolved external symbol
fatal error LNK1120: 1 unresolved externals
说是没有解决外部符号问题,找度娘找了几天都没有解决。仔细看了一下文件
结果发现file2.cpp不是.c文件。起初的时候我编写程序的时候认为这该没有问题吧,后来
实在没有办法了所以就将file2.cpp改为file2.c结果就成功了!程序可以运行了!
或许我这个发现很不值得一提,但还是希望后来人如果有这个问题可以参考一下!
|
C和CPP的函数名扩展方式不同,所以C语言是找不到C++的函数实现的