c++ - visual c 中的静态库链接失败

标签 c++ visual-c++ static-libraries static-linking

在 Visual C++ 中,我创建了一个包含两个文件的静态库,myLib.h 和 myLib.cpp。我还有一个控制台应用程序项目,其中包含引用该库的文件 testSequence.cpp。 在 myLib.h 中,我定义了一个类 template<class prec> class sequence其中有函数声明 prec *getPrimes(int numToGet)然后在 myLib.cpp 中定义此函数。但是,当我构建 testSequence 时,出现链接错误,并显示 error LNK2019: unresolved external symbol "public: int * __thiscall mathLib::sequence<int>::getPrimes(int)" (?getPrimes@?$sequence@H@mathLib@@QAEPAHH@Z) referenced in function "char * __cdecl codeString(char *,char *,bool)" (?codeString@@YAPADPAD0_N@Z) 所以,是的,帮助会很好。

最佳答案

阅读this错误的解释。

基本上,您尝试做的事情无法完成。当编译器尝试为给定的模板类型参数实例化类模板时,它必须能够看到类模板的实现。您需要将所有成员函数的实现移动到头文件中。

关于c++ - visual c 中的静态库链接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13547970/

相关文章:

c++ - 返回字符串中模式的所有非重叠匹配项

c++ - Visual C++ 预编译头错误

需要 Linux 库监控工具

c# - 如何自动(从命令行)安装 Visual Studio Build Tools 构建环境,适用于 C++、.NET、C# 等

c++ - 追踪 VS2k8 错误消息的来源?

c++ - 图书馆没有正确链接/包括

c++ - 在 header 中隐藏依赖项

c++ - 访问某个dll方法时访问冲突读取位置

c++ - 无法使用 QFileDialog (Qt 5.7) 打开文件

c++ - 推导模板化类参数的模板参数 : const issue