I've build an incredibly simple container (barely more than a struct) as a simple test of templates and libraries in c++. It holds an arbitrary type of data and keeps track of it's highest valued member and whether the data has changed since it was last accessed, and is contained in tiny .dll generated by the newest msvc compiler. All I want to do is link this library to another project in Qt Creator, which I've configured to use msvc as it's compiler ( I need to use Qt to interact with .ui files efficiently). I get an unresolved external symbol for each function in the object that is called, e.g. :
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
I'm not sure what to do here, as I was under the impression that that is the exact symbols I should expect to see when exporting a library.
The functions all have CONTAINER_API defined in the usual way that visual studio conditionally imports/exports functions. I'm sure I've just misinterpreted something, but I'm running out of ideas.