link的时候出错error LNK2001: unresolved external symbol后面跟乱码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了link的时候出错error LNK2001: unresolved external symbol后面跟乱码相关的知识,希望对你有一定的参考价值。

这是源程序

#include "stdio.h"
void main()

int gsmEncode7bit(const char*pSrc,unsigned char*pDst,int nSrcLen);
int gsmDecode7bit(const unsigned char*pSrc,char*pDst,int nSrcLen);
//初始化源字符串的数值、指针地址
//初始化目标编码串指针地址
const char src[10]="Hello!";
printf("original data is Hello!\n");
const char*psrcEncode=src;
unsigned char dst[10];
unsigned char*pdstEncode;
pdstEncode=dst;
//源ASCII字符串经过7-bit编码后
//输出目标编码的十六进制
int i,res;
i=0;
res=gsmEncode7bit(psrcEncode,pdstEncode,6);
printf("after Encode7bit as fellow:\n");
while (i<res)

printf("%x\n",*psrcEncode);
i++;
pdstEncode++;


结果错误是:
Linking...
SMSmain.obj : error LNK2001: unresolved external symbol "int __cdecl gsmEncode7bit(char const *,unsigned char *,int)" (?gsmEncode7bit@@YAHPBDPAEH@Z)
Debug/SMSmain.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
好几个程序都是这种错误 但又不知道怎么改 跪求指导啊!!

未解决的外部符号。

int gsmEncode7bit(const char*pSrc,unsigned char*pDst,int nSrcLen);
你这个函数有声明,但编译器没有找到该函数的实体,或者声明重复定义。追问

我建了gsmEncode7bit的函数了 建了一个gsmEncode7bit.cpp 和这个主函数放在一个文件夹下了 代码我也在补充问题里贴上了 这也不行么??

追答

这样是不行的。
或者,你将所有的函数实体放在同一个cpp文件;
或者,要将函数声明放在.h文件中,并在两个cpp文件头部都#include包含这个头文件。
否则,函数不能自动找到实现代码(实体)的。
另外,注意多文件要手动添加到工程(不仅仅是文件放在一块)

参考技术A 这是源程序

#include "stdio.h"
void main()

int gsmEncode7bit(const char*pSrc,unsigned char*pDst,int nSrcLen);
int gsmDecode7bit(const unsigned char*pSrc,char*pDst,int nSrcLen);
//初始化源字符串的数值、指针地址
//初始化目标编码串指针地址
const char src[10]="Hello!";
printf("original data is Hello!\n");
const char*psrcEncode=src;
unsigned char dst[10];
unsigned char*pdstEncode;
pdstEncode=dst;
//源ASCII字符串经过7-bit编码后
//输出目标编码的十六进制
int i,res;
i=0;
res=gsmEncode7bit(psrcEncode,pdstEncode,6);
printf("after Encode7bit as fellow:\n");
while (i<res)

printf("%x\n",*psrcEncode);
i++;
pdstEncode++;


结果错误是:
Linking...
SMSmain.obj : error LNK2001: unresolved external symbol "int __cdecl gsmEncode7bit(char const *,unsigned char *,int)" (?gsmEncode7bit@@YAHPBDPAEH@Z)
Debug/SMSmain.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
好几个程序都是这种错误 但又不知道怎么改 跪求指导啊!!

以上是关于link的时候出错error LNK2001: unresolved external symbol后面跟乱码的主要内容,如果未能解决你的问题,请参考以下文章

mfc error LNK2001:无法解析的外部符号。

error LNK2001: 无法解析的外部符号

error LNK2001: 无法解析的外部符号

VS2022编译GDAL库报错: LINK : error LNK2001: 无法解析的外部符号 _OSRValidate _OGR_G_GetPointCount _OGRRegisterAll

VS2022编译GDAL库报错: LINK : error LNK2001: 无法解析的外部符号 _OSRValidate _OGR_G_GetPointCount _OGRRegisterAll

error LNK2001: 无法解析的外部符号