C++ Error: error LNK2019: unresolved external symbol

在currennt工程中新添加了一个文件x.cu与x.hpp,最后编译整个工程的时候就出现了这个问题:

error LNK2019: unresolved external symbol

这是链接错误,表示没有找到编译好的二进制库文件~

这很诡异,因为我并没有引用什么第三方的lib(这很容易出现上述问题),编译器提示出现问题的代码是我自己写的啊!

又感觉脊背发凉………

最后不断排查,几乎把所有可能出错的代码都注释了,最后查到问题了,原来是template没有实例化= =

并非没有找到编译好的二进制文件,而是二进制文件根本就没有实例化生成……

如果在代码中使用了模板template,那么在类定义的最后一定要显示实例化模板,例:

template class WeeLayer<Cpu, activation_functions::Tanh>;

template class WeeLayer<Gpu, activation_functions::Logistic>;

时间: 2024-10-08 20:04:38

C++ Error: error LNK2019: unresolved external symbol的相关文章

VC: error LNK2019:unresolved external symbol *** referenced in function ***的解决方案

当头文件中声明了一个函数,但是在相应的源文件中却没有对该函数进行定义,则会出现为“解决的外部符号”(unresolved external symbol )错误.另外,当一个函数调用了外部的一个库文件中的函数,但是在当前project的properties中并没有将所依赖的(dependent)库文件包含进来时,也会出现这种错误. 综上,当一个solution在linking时找不到所涉及到的函数的定义时就会出现“unresolved external symbol ”错误. 例如,下面是调用r

C++ win32 dll 引用外部CLR,加载托管程序集异常-Error 10 error LNK2019: unresolved external symbol _CLRCreateInstancet

异常: Error 10 error LNK2019: unresolved external symbol [email protected] referenced in function "unsigned long __stdcall StartTheDotNetRuntime(void *)" ([email protected]@[email protected]) E:\C++\VC项目\NativeDll\NativeDll.obj NativeDll 解决措施: nat

C++使用模板类时出现LNK2019 unresolved external symbol错误.

如果你在使用模板类的时候, Declaration和Definition都没有问题, 但却出现了unresolved external symbol错误. 那你应该时遇到了和我一样的问题. 这是一个链接错误, 即程序在运行时并没有找到你所调用的外部符号. C++在编译普通类和模板类是稍有不同. 在编译普通类时, 会在编译时就令其生成编译单元. 所以如果你调用了头文件里函数, 编译器会首先在你包含的头文件中寻找该函数, 如果该函数没有被实现(Definition), 他会在其他编译单元的导出符号表

error LNK2019: unresolved external symbol &quot;__declspec(dllimport) public: __thiscall CADOConn::CADOConn(void)&quot;解决

背景:在MFC程序中写了两个project,其中一个project需要引用win32 project(ADOConn). 1. __thiscall实为noise信息,重点是之后的CADOConn::CADOConn(void),原因为CADOConn有一个默认的构造函数,只有声明没有实现,需在.cpp文件中实现. 2. VS Configuration Properties下列三项要设置正确. C/C++ ->General->Additional Include Directories 指

错误之unresolved external symbol

1>WinMain.obj : error LNK2019: unresolved external symbol [email protected]4 referenced in function [email protected]16 2>WinMain.obj : error LNK2019: unresolved external symbol [email protected]4 referenced in function [email protected]16 3>WinM

MFC 编译链接错误:unresolved external symbol

编译MFC程序过程出现以下错误: Error LNK2019 unresolved external symbol __imp___vsnprintf 解决方法:在Visual Studio工程选项,链接器附加依赖项里面添加legacy_stdio_definitions.lib即可. LNK2001 unresolved external symbol __imp___iob 解决方法:在程序中重新定义_iob, 加上这段代码:extern"C" { FILE _iob[] = {

error LNK2001: unresolved external symbol &quot;int g_cTemplates&quot; ([email&#160;protected]@3HA)(转)

原文转自:http://blog.sina.com.cn/s/blog_639a2ad70101kpen.html 编译directshow若干问题的解决 1.安装好windows sdk,进入directshow目录下面的directshow\baseclasses,打开baseclasses.sln项目文件,编译,Debug目录下生成strmbasd.lib 2.新建vc filter工程,到工程属性->c/c++下添加包含目录,此步骤为添加directx头文件和directshow头文件,

OpenCv error :unresolved external symbol(链接库没有加上)

Error 如下:Linking...: error LNK2001: unresolved external symbol _cvDestroyWindow: error LNK2001: unresolved external symbol _cvLoadImage: error LNK2001: unresolved external symbol _cvReleaseCapture: error LNK2001: unresolved external symbol _cvRelease

Google glog error LNK2001: unresolved external symbol &quot;__declspec(dllimport) int fLI::FLAGS_XXXX 错误的解决。

想在 windows 下使用 glog,使用类似 FLAGS_max_log_size 来设置参数,结果编译报错. 解决办法是在 项目属性 -> C/C++ -> Preprocessor -> Preprocessor Definitions 加入 GOOGLE_GLOG_DLL_DECL=. Google glog error LNK2001: unresolved external symbol "__declspec(dllimport) int fLI::FLAGS_