我构建了一个非常简单的容器(仅比结构多),作为对 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。我确定我只是误解了某些东西,但我的想法已经不多了。