Search code examples
c++windows-cedirectdrawlnk2019

Resolving 'LNK2019 unresolved external symbol' on DirectDrawCreate


I've been attempting to get DirectDraw to function on a CE5.0 framework for the last week and I'm running into some very odd issues.

ddrval = DirectDrawCreate(NULL, &lpDD, NULL);

When I have this function in my code, I get "error LNK2019: unresolved external symbol _DirectDrawCreate referenced in function "bool __cdecl DirectDrawInit(struct HWND__ *)" (?DirectDrawInit@@YA_NPAUHWND__@@@Z)"

The function itself exists in the .h, as I can jump directly to it, which makes me think I'm missing a library, but I have no idea how to check or fix this as it is being built for a remote CE5.0 device. I also run into a few other subtile hints that I am missing something such as LR_CREATEDIBSECTION and other LR constants not existing and small differences in types (HBITMAP not being liked and LPCWSTR being prefered).

Any assistance would be greatly appreciated. Just as a note, WindowsMobile5.0 code doesn't work on the device, and if I comment out the offending function the code compiles and runs (it's not being used as DirectDrawCreate is kind of important but the LNK error goes away)


Solution

  • You should link your program with ddraw.lib. This is the import lib for direct draw on windows mobile.