LNK2019 Against CArray Add, GetAt, GetSize, all includes are present
- by David J
I'm having some issues trying to Compile a DLL, but I just can't see where this linking error is coming from.
My LNK2019 is:
Exports.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int
__thiscall CArray<struct HWND__ *,struct HWND__ *>::Add(struct HWND__ *)" (__imp_?Add@?
$CArray@PAUHWND__@@PAU1@@@QAEHPAUHWND__@@@Z) referenced in function "int __stdcall _Disable(struct
HWND__ *,long)" (?_Disable@@YGHPAUHWND__@@J@Z)
Disable(...) is...
static BOOL CALLBACK _Disable(HWND hwnd, LPARAM lParam)
{
CArray<HWND, HWND>* pArr = (CHWndArray*)lParam;
if(::IsWindowEnabled(hwnd) && ::IsWindowVisible(hwnd))
{
pArr->Add(hwnd);
::Enable(hwnd, FALSE);
}
}
This is the first function in Exports.cpp; right above it is
#include <afxtempl.h>
I have the Windows 7.1 SDK installed (and have tried reinstalling both that and VS2010). The exact same project compiles perfectly fine on other machines, so it can't be the code itself.. I've spent countless errors researching, which led to desperate attempts of just changing random values in the solution file, including different Windows headers, etc. My last resort is getting to be just reinstalling the OS completely (assuming it's actually a problem with the Windows SDK being incorrect or something).
Any suggestions at all would be a huge help.
EDIT:
I've added /showIncludes on the cpp giving issues, and I do see afxtempl.h being included. It's being included multiple times due to other headers including it, but it is there (and it is from the same directory every time):
1> Note: including file: C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc\include\afxtempl.h