`
gaofen100
  • 浏览: 1227729 次
文章分类
社区版块
存档分类
最新评论

无法解析的外部符号

 
阅读更多

下午写了个模板类的小程序,在编译的时候出现了“无法解析的外部符号”的链接错误:

用g++编译则错误信息如下:

经过几番修改尝试,都未找到症结所在。回头想想,由于对模板不是太熟,应该是在模板上出现了问题吧。

网上查找了一番,还果真如此:下面是摘抄网友的解决方法

1. 干脆直接使用包含模式,即将模板类的定义与实现同写在.h文件中。(我不太喜欢这种写法

2. 使用分离模式,但是在使用时不引用模板类的头文件,而是引用模板类的实现文件。(不太符合一般习惯)

3. 使用分离模式,在模板类头文件中引用实现文件。(这个方法我在VC6Dev C++下都没有成功,不知道是哪里出了问题)

4. 使用分离模式,在模板类中头文件中实例化一个你需要对象。(十分笨拙的方法,不利于使用)

5. 使用分离模式,但是另外定义.h文件,在这个文件中引用模板的头文件和实现文件,在使用时引用这个另外定义的.h文件。

我采用了第二种方法,编译成功。

分享到:
评论

相关推荐

    解决error LNK2001 无法解析的外部符号 int __cdecl sprintf(

    在编程过程中,我们时常会遇到编译错误,其中"error LNK2001 无法解析的外部符号"是一个常见的链接器错误。这个错误通常发生在C++编程中,特别是当你试图使用一个未定义的函数或者变量时。在这个特定的情况下,错误...

    待解决问题LNK2019 无法解析的外部符号

    在编程过程中,我们时常会遇到各种链接错误,其中"LNK2019: 无法解析的外部符号"是Visual Studio C++编译器中一个常见的错误,这通常发生在链接阶段,意味着编译器找不到在编译时声明但在链接时没有实现的函数或变量...

    最新libcurl静态库

    如果出现以下错误: ...1>libcurld.lib(openssl.obj) : error LNK2019: 无法解析的外部符号 _sk_num,该符号在函数 _cert_stuff 中被引用 ............... 则应添加对 ssleay32.lib 和 libeay32.lib 的引用

    无法解析的外部符号”private: char * __cdecl cv::String::allocate(unsigned __int64)” (?allocate@String@cv@@AEAA

    1>save-image-D435.obj : error LNK2001: 无法解析的外部符号 “private: char * __cdecl cv::String::allocate(unsigned __int64)” (?allocate@String@cv@@AEAAPEAD_K@Z) 1>save-image-D435.obj : error LNK2001: ...

    win764位系统下VC++2010中设置FFTW时遇到的若干问题及解决办法

    当尝试编译包含FFTW函数调用的代码时,可能会遇到链接器错误LNK2019,该错误通常表示找不到对某个符号的引用。例如: ``` error LNK2019: unresolved external symbol _fftw_plan_dft_1d@16 referenced in function...

    如何解决 error LNK2019 无法解析的外部符号,该符号在函数 中被引用

    这些标志错误可能导致符号无法解析。 7. **外部库路径**:确认编译器能够找到所有依赖的库文件(.lib 或 .dll)。检查 `项目-配置属性-链接器-输入-附加依赖项`,确保列出的所有库都在系统的搜索路径内。 8. **...

    error LNK2019: 无法解析的外部符号 问题的解决办法

    这类错误通常与外部符号相关,意味着程序中某个函数或变量没有找到对应的实现。 根据提供的文件内容,错误信息中提到了多个函数的链接问题,如`__imp__WSASetLastError@4`、`__imp__inet_ntoa@4`等,这些都是在...

    ntdll 32位

    error LNK2019: 无法解析的外部符号 NtClose,该符号在函数 mdb_env_map 中被引用 D:\google-jar\liblmdb \mdb.obj error LNK2019: 无法解析的外部符号 NtCreateSection,该符号在函数 mdb_env_map 中被引用 D:\...

    vc报错解决办法 error LNK2019无法解析的外部符号,该符号在函数 中被引用

    在VC++编程环境中,当你遇到"error LNK2019: 无法解析的外部符号"的错误时,这通常意味着编译器在链接阶段找不到某个函数或变量的定义。这个错误是链接器(Linker)发出的,因为它在已编译的对象文件或库中找不到在...

    Catia CAA开发入门指南

    ### Catia CAA 开发入门指南详解 #### 一、前言 《Catia CAA 开发入门指南》是一份非常适合初学者的资料,旨在帮助新手快速掌握如何使用Catia的CAA (Component Architecture API) 进行二次开发。...

    GL包含头文件.rar

    #include "GL/GLU.H" #include "GL/GL.H" #include "GL/GLAUX.H" glWidget.obj:-1: error: LNK2019: 无法解析的外部符号 gluPerspective,该符号在...-1: error: LNK2019: 无法解析的外部符号 gluLookAt,该符号在函数

    C++调用C函数实例详解

    C++调用C函数实例详解 前言:以前见到extern “C”这样的语句,只是简单地知道跟外部链接有关...Test.obj : error LNK2019: 无法解析的外部符号 “void __cdecl DeleteStack(struct _Node *)” (?DeleteStack@@YAXPAU_N

    c++连接mysql5.6的出错问题总结

    1.描述:链接的时候出错了,错误提示:无法解析的外部符号 _mysql_init@4,该符号在函数 _main 中被引用 原因:我的机器是64bit WIN7系统,VS2012是32bit的,而MySQL是64bit的,32位工程调用64bit的libmysql.lib,因此...

    EVC图形编程

    1文本的绘制 2绘制线条 3绘制矩形 4绘制圆和椭圆 5绘制圆角矩形 6绘制多边形 7动画效果 8抓屏实验

    错误 LNK2019 无法解析的外部符号 "public: int -cdecl CMFCSerialAssistantVie

    解决办法:// 该错误是由于在 CMFCSerialAssistantDlg::Proc_Download3266 函数中引用了 CMFCSerialAssistantView::PostMessageA 函数,但是编译器无法找到该函数的定义。 // 解决方法是在 CMFCSerialAssistantView ...

    Opengl glut配置文件

    OpenGL是一种广泛使用的图形库,用于在各种操作系统上创建2D和3D图形。它提供了低级的绘图函数,让开发者可以直接控制硬件进行图形渲染。GLUT(OpenGL Utility Toolkit)是OpenGL的一个辅助库,它提供了一些基本的...

    pthreads-w32-2-8-0-release.zip

    描述中提到的问题“无法解析的外部符号 __imp__pthread_create,该符号在函数 _main 中被引用”是典型的链接错误。在Windows上,当你尝试使用未在当前项目或链接库中定义的外部函数时,编译器会报告这种错误。`...

    DirectX 9.0 3D 游戏开发编程基础在Window7 下VS2010的配置步骤和常见报错

    - **错误示例一**:“error LNK2019: 无法解析外部符号_Direct3DCreate9@4”。 - 这个错误通常出现在链接阶段,表示编译器未能找到函数_Direct3DCreate9@4的定义。 - 解决方案:确保已正确添加d3d9.lib到项目的...

    glib-2.58.0-win64-vs2017-v141-sdk10.0.17134.12

    2,准备glib:glib需要dirent的支持,否则在编译时会提示无法解析外部符号的错误。解决方法为: 将根目录\build\win32\dirent目录下的二个C文件和一个H文件拷贝到根目录\glib目录下。 3,修改根目录\glib目录下的...

Global site tag (gtag.js) - Google Analytics