类模板问题,undefined reference与报错无法解析的外部符号

今天编写了一个双向循环链表,想做一个模板类就用模板写了,结果无限报错。

代码如下:

#ifndef _DoublyCircularList_H_
#define _DoublyCircularList_H_

#include "listNode.h"

//  双向循环链表类声明
template<typename Type>
class DoublyCircularList
{
private:
    ListNode<Type>* head;
    size_t          count;
public:
    DoublyCircularList(const size_t size);
//  DoublyCircularList(const DoublyCircularList& ano);
   ~DoublyCircularList();

    bool   insert_(const Type& data, const size_t pos);
//  bool   delete_(const size_t pos);
//  bool   update_(const Type& data, const size_t pos);
//  bool   search_(const size_t pos) const;

//  size_t getCount()   const;
//  Type   getData()    const;
//  void   printList()  const;
//  void   vprintList() const;
};

#endif
#include <iostream>
#include "doublyCircularList.h"
using namespace std;

//  双向循环链表类定义
//  构造函数,负责创建size个结点的双向链表
template<typename Type>
DoublyCircularList<Type>::DoublyCircularList(const size_t size)
{
    count = 0;
    //  创建头结点
    head = new ListNode<Type>;
    head->prev = head->next = head;
    //  插入size个结点
    Type x;
    cout << "-----Ready to construct DoublyCircularList-----" << endl;
    cout << "Please input " << size << " data:" << endl;
    for(size_t i = 0; i < size; ++i){
        cin >> x;
//      insert_(x, i);
    }
    cout << "-----Input data end-----" << endl << endl;
}

template<typename Type>
DoublyCircularList<Type>::~DoublyCircularList()
{

}
#include <iostream>
#include "doublyCircularList.h"
using namespace std;

int main()
{
    cout << "----DoublyCircularList----\n" << endl;
    DoublyCircularList<int> L1(6);

    getchar();

    return 0;
}

在DevC++上编译显示

...

undefined reference to DoublyCircularList< int>::DoublyCircularList(unsigned long long)

undefined reference to DoublyCircularList< int>::~DoublyCircularList()

...

在VS2008上显示error LNK2019: 无法解析的外部符号 "public: __thiscall DoublyCircularList::~DoublyCircularList(void)" (??1?$DoublyCircularList@H@@QAE@XZ),该符号在函数 _main 中被引用

...

error LNK2019: 无法解析的外部符号 "public: __thiscall DoublyCircularList::DoublyCircularList(unsigned int)" (??0?$DoublyCircularList@H@@QAE@I@Z),该符号在函数 _main 中被引用

...

实在没搞懂这是什么意思,求高手指点迷津,感激不尽

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
undefined reference无法解析的外部符号
作为一个菜鸟+小白,我已经无数次被dll惹出的那些事儿打败。“undefined reference 无法解析的外部符号”是最常见的问题。 1 库文件缺失 用设备提供商的SDK进行开发的时候,SDK包里面一堆文件,有些很明显需要引用,有些却是隐含调用的;应该确保它们都包含在工程中。 dll缺失有时编译能通过,但
无法解析的外部符号报错
可能是函数在定义时和函数在主函数中调用时声明时的返回类型不同造成的,可能还有其他原因;
模板类出现undefined reference或无法解析的外部符号错误
今天使用模板类创建双向循环链表时碰到了一个大坑。按照一般思维,将类的声明放在.h文件中,将函数功能的实现及定义放在.cpp文件中。代码编写完成后调试,却碰到了undefined reference to...(在VS中报错无法解析的外部符号...) 在网上查了半天才知道,原来是模板类的问题。对于普通的类,即使声明和定义分别位于.h和.cpp文件,在main.cpp中只需要把类的头文件用#incl...
无法解析的外部符号的问题
今天遇到个这问题,一直没解决。 .LIB已经肯定导入了的 开始是用多字节编码写的,没有问题,但是改成UNICODE之后就会出现有链接不到的函数,而且不是显示全部的函数都不能链接,只有一部分不能链接。rn库是最新的 2边都是UNICODE rn求指教
无法解析的外部符号 的问题。
我做了一个工程,里面有一个虚类接口。rnclass CClientCommandrnrnpublic:rn virtual int DoMessage(CMessage* pMessage, bool& bDeleteFlag) = 0; // return 0;;rn;rnrn然后我在这个工程里面添加了一个DLL工程,设置依赖关系为DLL依赖主工程。rn然后我在这个DLL里面加了一个继承类rn#include "../Main/ClientCommand.h"rnclass CBaseCommand : public CClientCommandrnrnpublic:rn CBaseCommand(void);rn ~CBaseCommand(void);rnrn int DoMessage(CMessage* pMessage, bool& bDeleteFlag);rnrn;rnrn在这里面我重新写了DoMessage()接口内的逻辑。rn但是编译的时候报错rn1>BaseCommand.obj : error LNK2019: 无法解析的外部符号 "public: unsigned int __thiscall CBuffPacket::GetWriteLen(void)" (?GetWriteLen@CBuffPacket@@QAEIXZ),该符号在函数 "public: virtual int __thiscall CBaseCommand::DoMessage(class CMessage *,bool &)" (?DoMessage@CBaseCommand@@UAEHPAVCMessage@@AA_N@Z) 中被引用rnrnCBuffPacket是我的主工程里面的类,而且是完整的,不存在函数没有实现的方法。(我查询了网上的资料)rn我在Linux下这么写就没有问题,很久没有写Windows程序了,请教大侠们帮我看看吧。感觉是不是应该设置什么。rn
无法解析的外部符号问题
我给原来的窗口程序加皮肤,对这个程序添加下面的操作:rn1:将 SkinMagic 包中的 SkinMagicLib.h、SkinMagicLib.lib、DETOURS.lib 从示例工程./res 中,点击Project->Add To Project->Files,包含到工程中。 rn2:在对应的头文件中加入 #include "SkinMagicLib.h" 。rn3:在对应的源文件内添加SkinMagic皮肤加载的代码。rnrn但连接时出现了下面的问题:rnrnrnrnSkinMagicLib.lib(SkinData.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ) ,该符号在函数 "public: class std::_Tree,class std::allocator >,struct std::pair,class std::allocator > const ,class CSkinData *>,struct std::map,class std::allocator >,class CSkinData *,struct std::less,class std::allocator > >,class std::allocator >::_Kfn,struct std::less,class std::allocator > >,class std::allocator >::iterator __thiscall std::_Tree,class std::allocator >,struct std::pair,class std::allocator > const ,class CSkinData *>,struct std::map,class std::allocator >,class CSkinData *,struct std::less,class std::allocator > >,class std::allocator >::_Kfn,struct std::less,class std::allocator > >,class std::allocator >::erase(class std::_Tree,class std::allocator >,struct std::pair,class std::allocator > const ,class CSkinData *>,struct std::map,class std::allocator >,class CSkinData *,struct std::less,class std::allocator > >,class std::allocator >::_Kfn,struct std::less,class std::allocator > >,class std::allocator >::iterator)" (?erase@?$_Tree@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVCSkinData@@@2@U_Kfn@?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAVCSkinData@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@PAVCSkinData@@@2@@2@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@PAVCSkinData@@@2@@std@@QAE?AViterator@12@V312@@Z) 中被引用rnSkinMagicLib.lib(SkinStatusBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)rnSkinMagicLib.lib(SkinMenuBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)rnSkinMagicLib.lib(SkinWndMap.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ) ,该符号在函数 "public: class std::basic_string,class std::allocator > & __thiscall std::basic_string,class std::allocator >::assign(class std::basic_string,class std::allocator > const &,unsigned int,unsigned int)" (?assign@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@ABV12@II@Z) 中被引用rnSkinMagicLib.lib(SkinWnd.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ) ,该符号在函数 "public: class CSkinControl * __thiscall CSkinWnd::CreateControlByType(int)" (?CreateControlByType@CSkinWnd@@QAEPAVCSkinControl@@H@Z) 中被引用rnSkinMagicLib.lib(SkinPopupMenuWnd.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)rnSkinMagicLib.lib(SkinDataMan.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ)rnSkinMagicLib.lib(SkinMenuBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)rnSkinMagicLib.lib(SkinData.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)rnSkinMagicLib.lib(SkinStatusBar.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)rnSkinMagicLib.lib(PopupMenu.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)rnSkinMagicLib.lib(PopupMenuItem.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)rnSkinMagicLib.lib(SkinWndMap.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ) ,该符号在函数 "private: bool __thiscall std::basic_string,class std::allocator >::_Grow(unsigned int,bool)" (?_Grow@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAE_NI_N@Z) 中被引用rnSkinMagicLib.lib(SkinWnd.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)rnSkinMagicLib.lib(SkinPopupMenuWnd.obj) : error LNK2001: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ)rnSkinMagicLib.lib(SkinDataMan.obj) : error LNK2019: 无法解析的外部符号 "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ) ,该符号在函数 "public: int __thiscall CSkinDataMan::AddImage(class CImageSkinData *)" (?AddImage@CSkinDataMan@@QAEHPAVCImageSkinData@@@Z) 中被引用rnSkinMagicLib.lib(coolsblib.obj) : error LNK2019: 无法解析的外部符号 __imp__InitCommonControlsEx@4 ,该符号在函数 _InitializeCoolSB@4 中被引用rnSkinMagicLib.lib(SkinToolBar.obj) : error LNK2019: 无法解析的外部符号 __imp__ImageList_GetIcon@12 ,该符号在函数 "protected: void __thiscall CSkinToolBar::DrawButton(struct HDC__ *,int,int)" (?DrawButton@CSkinToolBar@@IAEXPAUHDC__@@HH@Z) 中被引用rnSkinMagicLib.lib(SkinToolBar.obj) : error LNK2019: 无法解析的外部符号 __imp__ImageList_Draw@24 ,该符号在函数 "protected: void __thiscall CSkinToolBar::DrawButton(struct HDC__ *,int,int)" (?DrawButton@CSkinToolBar@@IAEXPAUHDC__@@HH@Z) 中被引用rnSkinMagicLib.lib(SkinToolBar.obj) : error LNK2019: 无法解析的外部符号 __imp__ImageList_GetIconSize@12 ,该符号在函数 "protected: void __thiscall CSkinToolBar::DrawButton(struct HDC__ *,int,int)" (?DrawButton@CSkinToolBar@@IAEXPAUHDC__@@HH@Z) 中被引用rnSkinMagicLib.lib(SkinControl.obj) : error LNK2019: 无法解析的外部符号 __imp___TrackMouseEvent@4 ,该符号在函数 "protected: void __thiscall CSkinControl::SetMouseTrack(void)" (?SetMouseTrack@CSkinControl@@IAEXXZ) 中被引用rnDebug/Client.exe : fatal error LNK1120: 7 个无法解析的外部命令rn
无法解析外部符号的问题
VS2008的工程中,有的文件使用C编译器编译,有的是C++编译器编译,编译都通过了,主函数在C++文件中,结果报错:无法解析的外部符号××,××是C文件中的函数。是不是链接器哪里设置得不对?
关于继承的问题.报错:无法解析的外部符号
代码如下:rn#include rn#include rn#include rnusing namespace std;rnrnclass Stackrnpublic:rn virtual ~Stack()rn virtual bool pop(string &str);rn virtual bool push(string &str);rn virtual int size();rn virtual bool empty();rn virtual bool full();rn virtual bool peek(int index,string str);rn virtual void print(ostream &os=cout);rnrn;rnrnrnclass LIFO_Stack : public Stackrnpublic:rn LIFO_Stack(int capacity=0)rn rn if(capacity) stack.reserve(capacity);rn rn bool pop(string &str)rn rn if(!empty())rn rn str = stack.back();rn stack.pop_back();rn return true;rn rn return false;rn rn bool push(string &str)rn if(full())rn return false;rn stack.push_back(str);rn return true;rn rn int size()rn rn return stack.size();rn rn bool empty()rn rn return stack.empty();rn rn bool full()rn rn return stack.size() >= stack.max_size();rn rn void print(ostream &os)rn rn vector::iterator it = stack.begin();rn while(it!=stack.end())rn os<<*it++<=size())rn return false;rn str = stack[index];rn return true;rn rnprivate:rn vector stack;rn;rnrnostream& operator<<(ostream &os,Stack &rhs)rnrn rhs.print();rn return os;rnrnrnrnrn// 多态Stcak.cpp : 定义控制台应用程序的入口点。rn//rnrn#include "stdafx.h"rn#include "Stack.h"rnrnvoid peek(Stack &s,int index)rnrn string t;rn if(s.peek(index,t))rn cout<<"peek:"<>str && !st.full())rn st.push(str);rn cout<< '\n' <<"About to call peek() with LIFO_Stack"<
VS2015无法解析外部符号
在使用VS编辑C++时,遇到了无法解析外部符号的错误 严重性 代码 说明 项目 文件 行 错误 LNK2019 无法解析的外部符号 &quot;public: __thiscall Employee::Employee(void)&quot; (??0Employee@@QAE@XZ),该符号在函数 &quot;public: __thiscall manager::manager(int,class std::bas...
无法解析的外部符号
1. #include 了 头文件,却没有包含进项目里。 2.没有包含头文件。 3.没有路径。 4.没有包含lib
WNetOpenEnum无法解析的外部符号
在头文件中我已经加上了#include ,并且在链接中加上了Mpr.lib,为什么还会出错
求救!无法解析的外部符号
自己写了个贪食蛇程序,在编译时报错:rnrn error LNK2019: 无法解析的外部符号 "public: __thiscall Snake::Snake(void)" (??0Snake@@QAE@XZ),该符号在函数 "protected: __thiscall CSnakeView::CSnakeView(void)" (??0CSnakeView@@IAE@XZ) 中被引用rnrnerror LNK2019: 无法解析的外部符号 "public: __thiscall Snake::~Snake(void)" (??1Snake@@QAE@XZ),该符号在函数 "public: virtual __thiscall CSnakeView::~CSnakeView(void)" (??1CSnakeView@@UAE@XZ) 中被引用rnrnSnake是我自己建的贪食蛇类,Snake(void)和~snake(void)是构造和析构函数,我在CSnakeView里对它进行了实例化,之后就抱错了,不知道错在哪里,求教!!!!
无法解析的外部符号DirectDrawCreateEx
以前用2005的时候没这个问题,按照说明设置好路径就可以了,但换成2008就不行,求助问题如下:rn首先,在生成解决方案的时候报错:“无法解析的外部符号DirectDrawCreateEx"rnrn于是我按照说明去添加DDRAW.LIB文件的路径:工具--选项--项目和解决方案--VC++目录,右上角的下拉菜单选择“库文件”。rn rn就在这里,我发现默认已经包含了“H:\Microsoft DirectX SDK (March 2009)\Lib\x86”也就是DDRAW.LIB所在的路径,所以我怀疑是不是还要把x86打开把ddraw.lib也加进去。但是发现不行,只能打开到x86。rn rn最后没办法,手工把ddraw.lib写进去吧, rnrn继续生成解决方案,发现依然报错。跪求原因,期待用过VS2008的大牛回答。rnPS:当程序中加进KEYDOWN宏指令的时候,也会报错,而且我有把加进程序开头。 rn
c++ 无法解析的外部符号
我在一个类的成员函数中调用另一个类中的成员函数时,出现了以下错误:rn无法解析的外部符号 "public: void __thiscall EditHoleFactory::fillhole(void)" (?fillhole@EditHoleFactory@@QAEXXZ),该符号在函数 "private: void __thiscall MainWindow::trProject(void)" (?trProject@MainWindow@@AAEXXZ) 中被引用rn代码我就不贴了,就是基本的调用
“无法解析的外部符号”错误
[size=16px][size=12px]1> 正在生成代码...rn1>MapLine.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CMapRectangle::~CMapRectangle(void)" (??1CMapRectangle@@QAE@XZ),该符号在函数 __unwindfunclet$??0CMapLine@@QAE@XZ$0 中被引用rn1>MapPoints.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall CMapRectangle::~CMapRectangle(void)" (??1CMapRectangle@@QAE@XZ)rn1>MapPolygon.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall CMapRectangle::~CMapRectangle(void)" (??1CMapRectangle@@QAE@XZ)rn1>MapLine.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CMapRectangle::CMapRectangle(void)" (??0CMapRectangle@@QAE@XZ),该符号在函数 "public: __thiscall CMapLine::CMapLine(void)" (??0CMapLine@@QAE@XZ) 中被引用rn1>MapPoints.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall CMapRectangle::CMapRectangle(void)" (??0CMapRectangle@@QAE@XZ)rn1>MapPolygon.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall CMapRectangle::CMapRectangle(void)" (??0CMapRectangle@@QAE@XZ)rn1>MapLine.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall CMapRectangle::CMapRectangle(class CMapRectangle &)" (??0CMapRectangle@@QAE@AAV0@@Z),该符号在函数 "public: class CMapRectangle __thiscall CMapLine::GetExtent(void)" (?GetExtent@CMapLine@@QAE?AVCMapRectangle@@XZ) 中被引用rn1>MapPoints.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall CMapRectangle::CMapRectangle(class CMapRectangle &)" (??0CMapRectangle@@QAE@AAV0@@Z)rn1>MapPolygon.obj : error LNK2001: 无法解析的外部符号 "public: __thiscall CMapRectangle::CMapRectangle(class CMapRectangle &)" (??0CMapRectangle@@QAE@AAV0@@Z)rn1>MapPolygon.obj : error LNK2019: 无法解析的外部符号 "public: int __thiscall CMapRectangle::IsPointIn(class CMapPoint &)" (?IsPointIn@CMapRectangle@@QAEHAAVCMapPoint@@@Z),该符号在函数 "public: int __thiscall CMapPolygon::IsPointIn(class CMapPoint &)" (?IsPointIn@CMapPolygon@@QAEHAAVCMapPoint@@@Z) 中被引用rn1>F:\VC学习\MapG1.0\Debug\MapG1.0.exe : fatal error LNK1120: 4 个无法解析的外部命令[/size][size=14px][/size][/size]
无法解析的外部符号__getreent
使用vc编译器调用静态库.a时,出现了此错误,解决方法: 附加依赖项添加:libpthread.a
无法解析的外部符号,原因.
我在程序中添加rn Fl_Menu_Bar *bar = new Fl_Menu_Bar(0, 0, width,24,"gmdj");//sh+4);rn bar->menu(bar_table);rnrn语句后出现:rnerror LNK2019: 无法解析的外部符号 "struct Fl_Menu_Item * bar_table" (?bar_table@@3PAUFl_Menu_Item@@A),该符号在函数 "public: __thiscall graphicWindow::graphicWindow(bool,int)" (??0graphicWindow@@QAE@_NH@Z) 中被引用rn1>F:\PGrid\PGrid-compile\Release\gmsh.exe : fatal error LNK1120: 1 个无法解析的外部命令rnrn程序#include "Fl_Menu_.H"中定义rnclass FL_EXPORT Fl_Menu_Bar : public Fl_Menu_ rnprotected:rn void draw();rnpublic:rn int handle(int);rn Fl_Menu_Bar(int X, int Y, int W, int H,const char *l=0)rn : Fl_Menu_(X,Y,W,H,l) rn;rnrnrn#include "Fl_Menu_.H"也在我上面语句中的文件中添加了rnrn出现原因是什么啊!
无法解析的外部符号 _IEGetProtectedModeCookie@20
无法解析的外部符号 _IEGetProtectedModeCookie@20rnrn这个要怎么解决
vs2015 无法解析的外部符号
rnrn1>------ 已启动生成: 项目: anubis, 配置: Debug Win32 ------rn1> gnut-anubis.cpprn1>gnut-anubis.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall gnut::t_gmutex::t_gmutex(void)" (??0t_gmutex@gnut@@QAE@XZ),该符号在函数 "void __cdecl gnut::`dynamic initializer for '_gmutex''(void)" (??__E_gmutex@gnut@@YAXXZ) 中被引用rnrn1>gnut-anubis.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall gnut::t_gmutex::~t_gmutex(void)" (??1t_gmutex@gnut@@QAE@XZ),该符号在函数 "void __cdecl gnut::`dynamic atexit destructor for '_gmutex''(void)" (??__F_gmutex@gnut@@YAXXZ) 中被引用rnrn1>gnut-anubis.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall gnut::t_gtime::t_gtime(enum gnut::t_gtime::t_tsys const &)" (??0t_gtime@gnut@@QAE@ABW4t_tsys@01@@Z),该符号在函数 _main 中被引用rnrn1>gnut-anubis.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall gnut::t_gtime::~t_gtime(void)" (??1t_gtime@gnut@@QAE@XZ),该符号在函数 _main 中被引用rnrnrn请问 这是怎么回事,有大神知道怎么修改吗?
无法解析的外部符号 __imp__timeGetTime@0
error LNK2019: 无法解析的外部符号 __imp__timeGetTime@0,该符号在函数 "public: void __thiscall Ccount_sizeView::OnCount(void)" (?OnCount@Ccount_sizeView@@QAEXXZ) 中被引用 原因分析:没有加入相应的链接库,winmm.lib. 解决办法:根据错误提示找到
MFC 无法解析的外部符号
可能是原来在全局文件的全局变量被删除,恰巧多个文件用到这个变量,这样就无法解析这个变量了。得在所有用到这个变量的地方头文件里分别定义,一个不能丢
无法解析的外部符号 _GUID_SysKeyboard
在visual studio2013中使用Directx 获取键盘数据,编译成功,链接出错。使用的头文件包含了#include #pragma comment(lib, "dinput8.lib")rnrn1>------ 已启动生成: 项目: Direct3DTest1, 配置: Debug Win32 ------rn1>Direct3D.obj : error LNK2001: 无法解析的外部符号 _IID_IDirectInput8Wrn1>Direct3D.obj : error LNK2001: 无法解析的外部符号 _GUID_SysKeyboardrn1>dinput8.lib(dilib2.obj) : error LNK2001: 无法解析的外部符号 _GUID_Keyrn1>D:\Visual Studio 12.0\Direct3DTest1\Debug\Direct3DTest1.exe : fatal error LNK1120: 3 个无法解析的外部命令rn========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========rnrn求高手解决
无法解析的外部符号...
错误:rndigital_network.obj : error LNK2005: "class bin_seq __cdecl binary_channel(class bin_seq const &,class std::basic_istream > &)" (?binary_channel@@YA?AVbin_seq@@ABV1@AAV?$basic_istream@DU?$char_traits@D@std@@@std@@@Z) 已经在 exem5.obj 中定义rnrnrn函数 bin_seq binary_channel(const bin_seq &ip,istream& in) 我在头文件digital_network.h中声明并定义的,在exem5.cpp中使用的rnrn怎么出现这个错误呢?rn头文件中有ifndef define
虚函数的无法解析外部符号问题
先看代码:rn[code=C/C++]rn#include rnusing namespace std;rnrnclass Arnrnpublic:rn virtual void Display() const;rn virtual void Print() const;rn;rnrnclass B: public Arnrnpublic:rn virtual void Display() constrn rn cout << "\n\tThis is Display()." << endl;rn rnrn virtual void Print() constrn rn cout << "\n\tThis is Print()." << endl;rn rn;rnrnint main()rnrn B b;rn b.Display();rn b.Print();rn rn return 0;rnrn[/code]rnrn用VS2008编译时,会出现如下错误:rn[color=#FF6600]1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall A::Display(void)const " (?Display@A@@UBEXXZ)rn1>main.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall A::Print(void)const " (?Print@A@@UBEXXZ)[/color]rnrn求高人解答
Qt 报错LINK2019:无法解析的外部符号
这里用的都是Qt 自己的东西,但是还是抱错,所以怀疑是没有包含进去,尝试了清理项目,重新编译等,还是不行 用到一个最好的办法,就是把构建的文件夹整个删除,在重新编译就可以了 如图所示,把debug和release文件删除了就可以了
vs2008C++ 报错:C2019 无法解析的外部符号
各位高手,请教个问题:rnrn 我在使用vs2008的C++开发智能设备的过程中,使用到了自己生成的库jrtplib.lib jthread.lib,本人在工程属性中已经设置了头文件和lib库的引用路径,但是在引用库jrtplib.lib jthread.lib中的方法时,会报错 “ error LNK2019: 无法解析的外部符号 "public: int __cdecl RTPSession::EndDataAccess(void)" (?EndDataAccess@RTPSession@@QAAHXZ),该符号在函数 "public: void __cdecl CwmSendDlg::OnBnClickedSendBtn(void)" (?OnBnClickedSendBtn@CwmSendDlg@@QAAXXZ) 中被引用 ”,EndDataAccess方法在类RTPSession中是没有问题的。rnrn请问要怎么解决这个问题呢?
类模板问题,说error LNK2019: 无法解析的外部符号,请教。
test.hrn#include rnusing namespace std;rnrntemplate rnclass Queuernpublic:rn Queue():front(0),back(0)rn ~Queue();rn rn Type remove();rn void add(const Type &);rn bool is_empty() const return front == 0;rn friend ostream & operator << (ostream &,const Queue &q);rnprivate:rn class QueueItemrn public:rn QueueItem(const Type &t):item(t),next(0)rn friend ostream & operator<< (ostream &,const QueueItem &);rn Type item;rn QueueItem *next;rn ;rnrn QueueItem *front;rn QueueItem *back;rn;rntemplate rnQueue::~Queue()rnrn while (!is_empty())rn remove();rnrntemplate rnType Queue::remove()rnrn if (is_empty())rn rn cerr << "empty cannot remove" << endl;rn exit(-1);rn rn QueueItem *pt = front;rn front = front->next;rnrn Type retval = pt->item;rn delete pt;rn return retval;rnrntemplate rnvoid Queue::add(const Type &val)rnrn QueueItem *pt = new QueueItem(val);rnrn if (is_empty())rn front = back = pt;rn elsern rn back->next = pt;rn back = pt;rn rnrnrntemplate rnostream& operator<<( ostream &os, const Queue &q )rnrn os << "< ";rn Queue::QueueItem *p;rn for ( p = q.front; p; p = p->next )rn os << *p << " ";rn os << " >";rn return os;rnrnrntemplate rnostream & operator<<(ostream &os,const typename Queue::QueueItem &q)rnrn os << "< ";rn QueueItem *p;rnrn for (p = q.front;p;p = p->next)rn os << p->item;rnrn os << " >";rn return os;rnrnmain.cpprn#include rn#include rn#include "test.h"rnusing namespace std;rnrnint main()rnrn Queue qi ;rn int ival;rn for (ival = 0;ival < 10;++ival)rn qi.add(ival);rnrn cout << qi;rn int err_cnt = 0;rn for (ival = 0;ival < 10;++ival)rn rn int qval = qi.remove();rn if (ival != qval) err_cnt ++;rn rn if (!err_cnt)rn cout << "execute ok"<< endl;rn elsern cerr << "execute error " << endl;rnrn return 0;rnrnrn在VS2003环境下,编译出现:error LNK2019: 无法解析的外部符号,但是将main中的cout注释掉,则rn编译通过,不明白。rnrnrn
无法解析的外部符号问题浅尝
在编译的时候经常会遇到无法解析的外部符号这类的编译错误,当遇到这种问题有些时候会花费我们很多的时间去解决,很多时候我们会去msdn查看这个符号在哪个lib库里面,但是并不是所有的符号在msdn中都有,这时我们可能会去网上查找看有没有人曾经遇到过类似的问题,因此会花费我们很多的时间,所以本人经过研究尝试写了一个批处理帮助快速解决此类问题。 @echo off setlocal call &quot;...
无法解析的外部符号 __imp_RegCloseKey
一.相关错误LNK2001 无法解析的外部符号 __imp__RegQueryValueExA@24  LNK2001 无法解析的外部符号 __imp__RegOpenKeyExA@20 LNK2001 无法解析的外部符号 __imp__RegCloseKey@4 二.解决办法缺少 Advapi32.lib在系统中找到对应的lib文件,复制到相应工程文件debug中在pro文件中增加 LIBS +...
无法解析的外部符号是什么
我用的是vs,新建了一个工程,明明在DevC++上可以生成可执行文件的,到了vs就只能生成.obj文件,说连接错误
模板,无法解析的外部符号
问题描述 写c++类时,习惯将类的声明与实现放在不同的文件中(*.h;*.cpp),所以在写模板类时,我也习惯性的这么做。编译后,提示无法解析的外部符号,     解决方案一 将模板类的声明与实现放在同一个*.h文件中     解决方案二 保持声明与实现放在不同的文件中,但是需要在*.h文件的最后include实现文件,实现文件的后缀名不能用*.cpp,不同编译不过,如下,  
模板方法之无法解析的外部符号
1、在一个文件中完成模板的声明及实现 2、在模板头文件末尾添加实现文件的包含 #include &quot;MyTemnplate.cpp&quot; 3、在调用方(main.cpp中)包含实现文件 #include &quot;MyTemnplate.cpp&quot;   第二种方式还不如第一种方式简洁,实际上就是一个东西, 第三种方法可能会造成而外开销(比如多个模块都调用了这个模板的某个特化实例的 情形) 但一般来说...
无法解析的外部符号 _CLSID_...
本人初学ATL,第一个测试程序就出问题了。我已经包含了一个ATLTest_i.h的头文件,里面已经定义了EXTERN_C const CLSID CLSID_CATLTestClass; rnEXTERN_C const IID IID_ICATLTestClass; rn在我cpp的一个Test方法中有如下代码: rnHRESULT hr; rnICATLTestClass* pIntf = NULL; rnhr = ::CoCreateInstance(CLSID_CATLTestClass,NULL,CLSCTX_SERVER,IID_ICATLTestClass,(void **)&pIntf); rnif(SUCCEEDED(hr)) rn rnpIntf->Welcome(); rnpIntf->Release(); rn rn出错如下: rnATLTestDlgDlg.obj : error LNK2001: 无法解析的外部符号 _CLSID_CATLTestClass rnATLTestDlgDlg.obj : error LNK2001: 无法解析的外部符号 _IID_ICATLTestClass rn实在不知何故,希望有人指点一二,不胜感激!
又来!!无法解析的外部符号
Creating library Debug/cddareader.lib and object Debug/cddareader.exprnstrmbaseD.lib(dllentry.obj) : warning LNK4217: locally defined symbol __mbsrchr imported in function __tcsrchr@8rnstrmbaseD.lib(wxdebug.obj) : warning LNK4049: locally defined symbol __mbsrchr importedrnstrmbaseD.lib(wxdebug.obj) : warning LNK4217: locally defined symbol _vsprintf imported in function "void __cdecl DbgLogInfo(unsigned long,unsigned long,char const *,...)" (?DbgLogInfo@@YAXKKPBDZZ)rnstrmbaseD.lib(wxdebug.obj) : warning LNK4217: locally defined symbol _sprintf imported in function "public: __thiscall CDisp::CDisp(double)" (??0CDisp@@QAE@N@Z)rnCDDAReader.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::FindPin(wchar_t const *,struct IPin * *)" (?FindPin@CBaseFilter@@UAGJPB_WPAPAUIPin@@@Z)rnasyncreaderD.lib(asyncrdr.obj) : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::FindPin(wchar_t const *,struct IPin * *)" (?FindPin@CBaseFilter@@UAGJPB_WPAPAUIPin@@@Z)rnCDDAReader.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::JoinFilterGraph(struct IFilterGraph *,wchar_t const *)" (?JoinFilterGraph@CBaseFilter@@UAGJPAUIFilterGraph@@PB_W@Z)rnasyncreaderD.lib(asyncrdr.obj) : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::JoinFilterGraph(struct IFilterGraph *,wchar_t const *)" (?JoinFilterGraph@CBaseFilter@@UAGJPAUIFilterGraph@@PB_W@Z)rnCDDAReader.obj : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::QueryVendorInfo(wchar_t * *)" (?QueryVendorInfo@CBaseFilter@@UAGJPAPA_W@Z)rnasyncreaderD.lib(asyncrdr.obj) : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBaseFilter::QueryVendorInfo(wchar_t * *)" (?QueryVendorInfo@CBaseFilter@@UAGJPAPA_W@Z)rnasyncreaderD.lib(asyncrdr.obj) : error LNK2019: unresolved external symbol "public: __thiscall CBasePin::CBasePin(char *,class CBaseFilter *,class CCritSec *,long *,wchar_t const *,enum _PinDirection)" (??0CBasePin@@QAE@PADPAVCBaseFilter@@PAVCCritSec@@PAJPB_WW4_PinDirection@@@Z) referenced in function "public: __thiscall CAsyncOutputPin::CAsyncOutputPin(long *,class CAsyncReader *,class CAsyncIo *,class CCritSec *)" (??0CAsyncOutputPin@@QAE@PAJPAVCAsyncReader@@PAVCAsyncIo@@PAVCCritSec@@@Z)rnasyncreaderD.lib(asyncrdr.obj) : error LNK2001: unresolved external symbol "public: virtual long __stdcall CBasePin::QueryId(wchar_t * *)" (?QueryId@CBasePin@@UAGJPAPA_W@Z)rnstrmbaseD.lib(source.obj) : error LNK2019: unresolved external symbol __imp___wtoi referenced in function "public: virtual long __stdcall CSource::FindPin(unsigned short const *,struct IPin * *)" (?FindPin@CSource@@UAGJPBGPAPAUIPin@@@Z)rnstrmbaseD.lib(wxutil.obj) : error LNK2019: unresolved external symbol __imp__timeGetTime@0 referenced in function "public: int __thiscall CAMMsgEvent::WaitMsg(unsigned long)" (?WaitMsg@CAMMsgEvent@@QAEHK@Z)rnstrmbaseD.lib(wxdebug.obj) : error LNK2001: unresolved external symbol __imp__timeGetTime@0rnstrmbaseD.lib(wxutil.obj) : error LNK2019: unresolved external symbol __imp__timeSetEvent@20 referenced in function "unsigned int __stdcall CompatibleTimeSetEvent(unsigned int,unsigned int,void (__stdcall*)(unsigned int,unsigned int,unsigned long,unsigned long,unsigned long),unsigned long,unsigned int)" (?CompatibleTimeSetEvent@@YGIIIP6GXIIKKK@ZKI@Z)rnstrmbaseD.lib(wxdebug.obj) : error LNK2019: unresolved external symbol __imp___vsnprintf referenced in function "void __cdecl DbgBreakPoint(char const *,int,char const *,...)" (?DbgBreakPoint@@YAXPBDH0ZZ)rnDebug/cddareader.ax : fatal error LNK1120: 9 unresolved externalsrnBuild log was saved at "file://f:\guliverkli\src\filters\reader\cddareader\Debug\BuildLog.htm"rncddareader - 14 error(s), 4 warning(s)rn========== Build: 19 succeeded, 68 failed, 169 up-to-date, 0 skipped ==========rn难道是还有lib没有加进去?那我该怎样找到这些库呢?rn多谢赐教
LNK2019: 无法解析的外部符号
//---------------list.hrn#pragma oncern#include "stdafx.h"rn#include rnusing namespace std;rntemplate rnclass LinearListrnrnpublic:rn LinearList(int len=10);rn ~LinearList();rn bool IsEmpty() const;rn int Length() const;rn bool Find(int k,const T& x)const;rn int Search(const T& x) const;rn LinearList& Delete(int k,T& x) ;rn LinearList& Insert(int k,const T& x);rn void Output(ostream& out) const;rn friend ostream& operator <<(ostream& out,const LinearList& x); rn rnprivate:rn int length;rn T*element;rn int MaxSize;rn;rn//----------list.cpprn#include "stdafx.h"rn#include"list.h"rnrntemplate LinearList::LinearList(int len)rnrn MaxSize=len;rn element=new T[len];rn length=0;rnrntemplate LinearList::~LinearList()rnrn delete[]element;rnrntemplaternbool LinearList::IsEmpty() constrnrn return length==0;rnrntemplaternint LinearList::Length() constrnrn return length;rnrntemplaternbool LinearList::Find(int k,const T &x) constrnrn if(k<=0||k>length)rn rn cout<<"none !"<rnint LinearList::Search(const T &x) constrnrn int i;rn for(i=0;irnLinearList& LinearList::Delete(int k, T &x)rnrn if(Find(k,x))rn rn for(int i=k;irnLinearList& LinearList::Insert(int k, const T &x)rnrn if(k<1||k>length)rn cout<<"error !"<=k-1;i--)rn element[i+1]=element[i];rn element[k-1]=x;rn length++;rn return*this;rnrntemplaternvoid LinearList::Output(ostream &out) constrnrn for(int i=0;irnostream& operator <<(ostream& out,const LinearList& x) rnrn x.Output(out);rn return out;rnrnrn//-------------------------- Win32_DS3_1.cpp : 定义控制台应用程序的入口点。rn//rnrn#include "stdafx.h"rn#include "list.h"rnrnint _tmain(int argc, _TCHAR* argv[])rnrn LinearListL(5);rn cout << "Length = " << L.Length() << endl;rn cout << "IsEmpty = " << L.IsEmpty() <Win32_DS3_1.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall LinearList::~LinearList(void)" (??1?$LinearList@H@@QAE@XZ),该符号在函数 _wmain 中被引用rn1>Win32_DS3_1.obj : error LNK2019: 无法解析的外部符号 "public: class LinearList & __thiscall LinearList::Delete(int,int &)" (?Delete@?$LinearList@H@@QAEAAV1@HAAH@Z),该符号在函数 _wmain 中被引用rn1>Win32_DS3_1.obj : error LNK2019: 无法解析的外部符号 "public: bool __thiscall LinearList::Find(int,int const &)const " (?Find@?$LinearList@H@@QBE_NHABH@Z),该符号在函数 _wmain 中被引用rn1>Win32_DS3_1.obj : error LNK2019: 无法解析的外部符号 "class std::basic_ostream > & __cdecl operator<<(class std::basic_ostream > &,class LinearList const &)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@ABV?$LinearList@H@@@Z),该符号在函数 _wmain 中被引用rn1>Win32_DS3_1.obj : error LNK2019: 无法解析的外部符号 "public: class LinearList & __thiscall LinearList::Insert(int,int const &)" (?Insert@?$LinearList@H@@QAEAAV1@HABH@Z),该符号在函数 _wmain 中被引用rn1>Win32_DS3_1.obj : error LNK2019: 无法解析的外部符号 "public: bool __thiscall LinearList::IsEmpty(void)const " (?IsEmpty@?$LinearList@H@@QBE_NXZ),该符号在函数 _wmain 中被引用rn1>Win32_DS3_1.obj : error LNK2019: 无法解析的外部符号 "public: int __thiscall LinearList::Length(void)const " (?Length@?$LinearList@H@@QBEHXZ),该符号在函数 _wmain 中被引用rn1>Win32_DS3_1.obj : error LNK2019: 无法解析的外部符号 "public: __thiscall LinearList::LinearList(int)" (??0?$LinearList@H@@QAE@H@Z),该符号在函数 _wmain 中被引用[/color]
无法解析的外部符号HtmlHelp
我刚刚重装了系统,XP的,VS2008装上后建一个MFC的空工程报错:rn1>work11.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall CWinApp::HtmlHelp(unsigned long,unsigned int)" (?HtmlHelp@CWinApp@@UAEXKI@Z)rn1>work11.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall CWnd::HtmlHelp(unsigned long,unsigned int)" (?HtmlHelp@CWnd@@UAEXKI@Z)rn1>MainFrm.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall CWnd::HtmlHelp(unsigned long,unsigned int)" (?HtmlHelp@CWnd@@UAEXKI@Z)rn1>work11View.obj : error LNK2001: 无法解析的外部符号 "public: virtual void __thiscall CWnd::HtmlHelp(unsigned long,unsigned int)" (?HtmlHelp@CWnd@@UAEXKI@Z)rn1>E:\my_program\work11\Debug\work11.exe : fatal error LNK1120: 2 个无法解析的外部命令rn我建一个Win32控制台的程序却没问题 ,不知道怎么回事,求解
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview

相似问题

2
编译opencv3.4.1出现异常
3
undefined reference to luaL_newstate
5
C++ 编译错误: Error:undefined reference to ` '
2
chrome.tabs.getCurrent为什么报错Cannot read property 'getCurrent' of undefined
5
实用matlab+gcc 4. 7.7的时候出现报错
1
C语言链表undefined reference to 问题
0
QT中 使用类指针时出现错误undefined reference to `s_lp1'
1
ZTree报错 Cannot read property 'substring' of undefined
3
var a = undefined; var data2 = a ? a.b : '' + a ? a.c : ''; 为什么会报错?
2
我自己写了写了一个qwt的程序,想用交叉编译把程序移植到开发板上
1
ffmpeg的静态库,在连接的时候出现的问题,比较奇怪
1
Vue点击事件无效:Invalid handler for event "click": got undefined
0
perl脚本执行报错,找不到解决原因
0
why undefined reference to system function(such as SHA512_Init) on linux gcc?
1
Linux 上 安装mssql 模块,之前的都安装完毕,最后一步将mssql.so加入php.ini ,重启php报错。
0
create-react-app 报错无法创建项目,Extracting tar content of undefined failed
2
微信小程序一直报错Cannot read property 'contentlist' of undefined
1
项目在其他浏览都能正常运行,ie报错且页面为空白
1
c++报错undefined reference to "析构函数",引号里的析构函数是基类的析构函数,声明为了纯虚函数?
1
c++报错undefined reference to "析构函数" ,引号里的析构函数是一个基类的析构函数,是纯虚析构函数?