error LNK2001: 无法解析的外部符号 "public: char * __thiscall

error LNK2001: 无法解析的外部符号 "public: char * __thiscall CamPinPadCtrl::KeysConvert(unsigned long,char *)" ([email protected]@@[email protected])

下午有个函数重复使用的地方特别多,所以我想单独在visual studio中给类增加函数,这样每次用到的时候只需调用函数即可

但是我再.h文件中声明函数

  char* KeysConvert(unsigned long ulKeys, char* strKeys);

接着在.cpp中实现函数

  char* KeysConvert(ULONG ulKeys,char * pszKeys)
  {
    CString strDebugTmp = "";
    memset(pszKeys,0,500);

    ……

  }

接着在使用的地方调用函数,编译的时候出现问题:

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

解决:

通过类试图--类上右键--添加函数,我发现编译器自动添加的函数声明没变,但是在cpp中是这样的

  char* CMyTestCtrl::KeysConvert(ULONG ulKeys,char * pszKeys)
  {
    CString strDebugTmp = "";
    memset(pszKeys,0,500);

  }

就是因为我最开始手动添加类成员函数时,没有将函数实现成类成员函数,呵呵呵呵  

原文地址:https://www.cnblogs.com/jieliujas/p/8876199.html

时间: 2024-10-10 06:25:14

error LNK2001: 无法解析的外部符号 "public: char * __thiscall的相关文章

vs2010+qt4编译出现error LNK2001: 无法解析的外部符号 "public: virtual struct QMetaObject等错误

1.当vs2010编译qt时会出现以下错误: 1>------ 已启动全部重新生成: 项目: MyDialog, 配置: Debug Win32 ------ 1>生成启动时间为 2015/9/9 14:57:04. 1>InitializeBuildStatus: 1>  正在创建"Debug\MyDialog.unsuccessfulbuild",因为已指定"AlwaysCreate". 1>CustomBuild: 1> 

C++工程编译之“error LNK2001: 无法解析的外部符号”

今天一整天都在折腾“error LNK2001: 无法解析的外部符号”,就在头疼不已的时候,总算是找到问题原因了:各个动态链接库的编译方式必须统一才行,要不然很容易对库函数的引用产生冲突.简单来说就是,如果使用的第三方函数库编译方式采用/MD,那么主工程也应该使用/MD.我使用了libevent,而主工程默认采用/MT,所以需要忽略一大堆的函数库,我还纳闷呢,怎么会这么奇怪!!今天总算是解决了长久以来的困惑了. 下面引用一篇文章的描述:[Z]VC运行库版本不同导致链接.LIB静态库时发生重复定义

vs2015编译ffmpeg 出现错误rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 ___iob_func

vs2015编译ffmpeg(版本3.0.2)引用外部库文件librtmp出现以下错误: rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 __imp__strtod rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 __imp__sscanf rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 __imp___snprintf rtmp.lib(rtmp.obj) : e

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

error LNK2001: 无法解析的外部符号 这个错误一般主要原因是:只在头文件中有定义,没有在cpp文件中实现.导致这个原因一般是在添加库文件的时候,仅仅只是包含了他的头文件,因此解决办法就是也应该要包含它的实现文件,如果没有.cpp文件,那么就应该是静态文件或者动态文件.只要添加了这个基本上就没问题了. error LNK2001: 无法解析的外部符号,布布扣,bubuko.com

gSoap的“error LNK2001: 无法解析的外部符号 _namespaces”解决方法

在工程中添加宏 WITH_NONAMESPACES gSoap的"error LNK2001: 无法解析的外部符号 _namespaces"解决方法

c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法

最近项目中需要实现一个服务器宕机后短信提醒的功能,个人觉得在使用Python 写http请求这块很方便,发短信这块就使用了python,但是c++程序中调用这个脚本时,编译不通过,提示如下错误: error LNK2001: 无法解析的外部符号 __imp_PyString_FromStringerror LNK2001: 无法解析的外部符号 __imp_PyCallable_Check error LNK2001: 无法解析的外部符号 __imp_PyObject_CallObjecterro

【转】strmbasd.lib(dllentry.obj) : error LNK2001: 无法解析的外部符号"int g_cTemplates"

加入了DirectShow的基类链接库后,如果此时编译就会出现以下编译错误: strmbasd.lib(wxutil.obj) : error LNK2019: 无法解析的外部符号 [email protected] strmbasd.lib(wxutil.obj) : error LNK2019: 无法解析的外部符号 [email protected] strmbasd.lib(dllentry.obj) : error LNK2001: 无法解析的外部符号 "class CFactoryTe

一个小错误:error LNK2019: 无法解析的外部符号 "public: __thiscall Turtle::~Turtle(void)" (??1Turtle@@QAE@XZ),该符号在函数 _main 中被引用

昨天在撸代码的时候遇到了一个十分蛋疼的错误 : 错误: 1>3.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Turtle::~Turtle(void)" (??1Turtle@@QAE@XZ),该符号在函数 _main 中被引用1>3.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall Turtle::Turtle(void)" (??0Turtl

Error LNK2001 无法解析的外部符号 的几种情况及解决办法

最近遇到的关于VS里编译出现的“无法解析的外部符号”问题,在网上寻求解决办=办法时查到下面的博客内容,作者讲解的挺全面的,作为收藏以备将来查询. 原文http://blog.csdn.net/shenyulv/article/details/6699836 VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过.产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然.如果不深入地学习和理解