视觉c中的静态库链接失败

时间:2012-11-25 03:19:44

标签: 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) 所以,是的,帮助会很好。

1 个答案:

答案 0 :(得分:3)

阅读this以获取有关错误的说明。

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