A Function Declared Dllimport May Not Be Defined [TOP]
// myfile.cpp __declspec(dllimport) void myFunction(); // says "import me" void myFunction() { // ERROR: defined here // implementation }
If you then define the same function (write its body) in the same source file or a linked object file, you are contradicting that directive. The compiler rightly complains because it doesn't know whether to treat the function as imported from a DLL or as a local function. Problematic code (in an executable project): a function declared dllimport may not be defined
#include "myheader.h" void myFunction() { // actual implementation } If you intend the function to be local to the executable (not from a DLL), simply remove __declspec(dllimport) : // myfile
— using the same header for both DLL and client without proper conditionals: // myfile.cpp __declspec(dllimport) void myFunction()