我用c++构建了一个极其简单的容器(仅比结构多一点),作为对模板和库的简单测试。它保存任意类型的数据,并跟踪它的最高值成员,以及数据自上次访问以来是否发生了更改,并包含在由最新的msvc编译器生成的微型.dll中。我所要做的就是将这个库链接到Qt Creator中的另一个项目,我已经将它配置为使用msvc作为编译器(我需要使用Qt来有效地与.ui文件交互)。对于调用的对象中的每个函数,我都会得到一个未解析的外部符号,例如:
LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall collectionContainer<int>::collectionContainer<int>(int *,short,long)" (__imp_??0?$collectionContainer@H@@QAE@PAHFJ@Z) referenced in function _main我不确定在这里要做什么,因为我的印象是,这正是我在导出库时应该看到的符号。
所有函数都以visual studio有条件地导入/导出函数的常用方式定义了CONTAINER_API。我确信我只是误解了一些东西,但是我已经没有想法了。
发布于 2012-11-03 06:34:02
我想知道这个错误是否与DLL无关,而只是没有将模板实现放在头文件中的情况。请参阅here
https://stackoverflow.com/questions/13203885
复制相似问题