使用外部dll时无法解析的外部符号

天啊

尝试从外部dll使用函数时出现无法解析的外部符号错误!这是导出的dll中的代码:

//MathFunc.h
#pragma once

template <class T>
class MyMathFuncs
{
public:
    T Add(T a, T b);
};

extern "C" {
    MYAPI MyMathFuncs<int>* createInst(){
        return new MyMathFuncs<int>;
    }
}

//MathFunc.cpp
#include "MathFuncsDll.h"
#include <stdexcept>

using namespace std;

template <class T>
T MyMathFuncs<T>::Add(T a, T b)
{
    return a + b;
}

编译此项目后,我得到了.dll和.lib文件。之后,我创建了一个新项目,并将.dll文件添加到输出目录,并将.lib文件添加到链接器->输入->其他依赖项。这是新项目中的代码:

//main.cpp
#include <iostream>
#include "MathFuncsDll.h"

using namespace std;

int main(){
    MyMathFuncs<int> * pObj = createInst();
    cout << pObj->Add(1, 1) << endl;

    cin.get();
    return 0;
}

但是,当我编译时会导致错误:

Error   1   error LNK2001: unresolved external symbol "public: int __thiscall       MyMathFuncs<int>::Add(int,int)" (?Add@?$MyMathFuncs@H@@QAEHHH@Z)    N:\Play around Code\DllApplication\DllApplication\main.obj

是因为我错误地导入了dll还是什么?我已经在新项目中检查了所有项目的设置,其中包括其他包含项和其他依赖项(.lib)。

地黄mus素

在类定义中,您需要指定__declspec(dllexport)在生成dll__declspec(dllimport)使用时(我认为您正在使用)MYAPI

更改类定义,如下所示:

template <class T>
class MYAPI MyMathFuncs
{
public:
    T Add(T a, T b);
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

代理DLL中无法解析的外部符号

来自分类Dev

使用shared_ptr时无法解析的外部符号

来自分类Dev

_yylval是无法解析的外部符号

来自分类Dev

无法解析的外部符号NtCreateKey

来自分类Dev

在Windows上编译GDAL 1.11.0时无法解析的外部符号

来自分类Dev

与OpenCV 3.0链接时出现“无法解析的外部符号”错误

来自分类Dev

使用libpng时无法解析的外部

来自分类Dev

使用FreeType编译时无法解析的外部

来自分类Dev

使用名称空间链接到静态库时,无法解析的外部符号

来自分类Dev

错误LNK2019:使用SendInput()时出现无法解析的外部符号

来自分类Dev

使用defalt args时在函数_main中引用的错误LNK2019无法解析的外部符号

来自分类Dev

使用 jsoncpp NuGet 包时获取未解析的外部符号

来自分类Dev

使用CImg库时出现无法解决的外部符号错误

来自分类Dev

Qt:Windows函数是无法解析的外部符号

来自分类Dev

无法解析的外部符号__report_rangecheckfailure

来自分类Dev

C ++ DirectX 9无法解析的外部符号

来自分类Dev

无法解析的外部符号构建Python模块

来自分类Dev

LNK2019错误(无法解析的外部符号)将SQLite链接到DLL

来自分类Dev

主外部函数的C ++“无法解析的外部符号”

来自分类Dev

LNK2019:函数___tmainCRTStartup中使用DLL引用的未解析的外部符号_main

来自分类Dev

LNK2019:未解析的外部符号-隐式DLL

来自分类Dev

在Windows上将Cython扩展链接到C库时出现“无法解析的外部符号”错误

来自分类Dev

错误LNK2019:将代码放入cpp文件时出现无法解析的外部符号

来自分类Dev

无法链接CPP文件-无法解析的外部符号

来自分类Dev

使用WINAPI在依赖库的复杂项目中无法解析的外部符号

来自分类Dev

我使用的每一个毛刺功能都无法解析的外部符号

来自分类Dev

使用NASM在Windows x64汇编程序中无法解析的外部符号printf

来自分类Dev

使用node-gyp异常:LNK2001无法解析的外部符号

来自分类Dev

使用WINAPI在依赖库的复杂项目中无法解析的外部符号

Related 相关文章

  1. 1

    代理DLL中无法解析的外部符号

  2. 2

    使用shared_ptr时无法解析的外部符号

  3. 3

    _yylval是无法解析的外部符号

  4. 4

    无法解析的外部符号NtCreateKey

  5. 5

    在Windows上编译GDAL 1.11.0时无法解析的外部符号

  6. 6

    与OpenCV 3.0链接时出现“无法解析的外部符号”错误

  7. 7

    使用libpng时无法解析的外部

  8. 8

    使用FreeType编译时无法解析的外部

  9. 9

    使用名称空间链接到静态库时,无法解析的外部符号

  10. 10

    错误LNK2019:使用SendInput()时出现无法解析的外部符号

  11. 11

    使用defalt args时在函数_main中引用的错误LNK2019无法解析的外部符号

  12. 12

    使用 jsoncpp NuGet 包时获取未解析的外部符号

  13. 13

    使用CImg库时出现无法解决的外部符号错误

  14. 14

    Qt:Windows函数是无法解析的外部符号

  15. 15

    无法解析的外部符号__report_rangecheckfailure

  16. 16

    C ++ DirectX 9无法解析的外部符号

  17. 17

    无法解析的外部符号构建Python模块

  18. 18

    LNK2019错误(无法解析的外部符号)将SQLite链接到DLL

  19. 19

    主外部函数的C ++“无法解析的外部符号”

  20. 20

    LNK2019:函数___tmainCRTStartup中使用DLL引用的未解析的外部符号_main

  21. 21

    LNK2019:未解析的外部符号-隐式DLL

  22. 22

    在Windows上将Cython扩展链接到C库时出现“无法解析的外部符号”错误

  23. 23

    错误LNK2019:将代码放入cpp文件时出现无法解析的外部符号

  24. 24

    无法链接CPP文件-无法解析的外部符号

  25. 25

    使用WINAPI在依赖库的复杂项目中无法解析的外部符号

  26. 26

    我使用的每一个毛刺功能都无法解析的外部符号

  27. 27

    使用NASM在Windows x64汇编程序中无法解析的外部符号printf

  28. 28

    使用node-gyp异常:LNK2001无法解析的外部符号

  29. 29

    使用WINAPI在依赖库的复杂项目中无法解析的外部符号

热门标签

归档