c++ - 关于 dllexport/dllimprt 的困惑

标签 c++ visual-studio qt-creator dllimport

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

最佳答案

我想知道这个错误是否与DLL无关,只是没有将模板实现放在头文件中的情况。参见 here

关于c++ - 关于 dllexport/dllimprt 的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13203885/

相关文章:

c++ - 从 Boost::Tokenizer 中删除重复项?

c++ - 有人可以推荐一本关于可移植 C/C++ 代码开发的书吗?

c++ - BST删除并没有真正删除

c++ - SetWindowshookEx 有时在 dll 注入(inject)后不起作用

c++ - 需要一个关于如何使用 QThreadPool 的工作示例

c++ - 如何在 QT 中正确显示 std::vector?

python - 从 C++ 应用程序返回多个输出

visual-studio - 在 Visual Studio/Rider 中使用 proto 文件中的导入

c++ - CMAKE 3.4.1和VS2015编译opencv3.0 extra models时找不到include文件如何解决

c++ - 是否可以在 Qt Creator IDE 中设置 wxWidgets 库?