• Advertisement
Sign in to follow this  

VC2005 ScreenSaver Link Error.

This topic is 3623 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Under VC6 I've always started with a empty "Win32 Application" project and buildup a screensaver from there. Now under VC2005(8) when doing the same ("Win32" > "Win32 Project" > "empty") I did run in a few "unresolved external symbol" link errors for ScrnSave.lib when compiling. All but one were solved by adding "commctrl.h". I still can't solve the next error: ScrnSave.lib(scrnsave.obj) : error LNK2019: unresolved external symbol _ScreenSaverProc@16 / referenced in function _RealScreenSaverProc@16 What do I need to do/have in order to solve this under VS2005(8)? Minimalistic source for compiling:
#include <windows.h>
#include <scrnsave.h>
#include <commctrl.h>                        // not required under VC6

#pragma comment(lib, "ScrnSave.lib")
#pragma comment(lib, "comctl32.lib")         // not required under VC6

BOOL WINAPI RegisterDialogClasses(HANDLE hInst) {
    return true;
}

BOOL WINAPI ScreenSaverConfigureDialog ( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam ) {
    return false;
}

LRESULT WINAPI ScreenSaverProc ( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam ) {
    return DefScreenSaverProc(hWnd, message, wParam, lParam);
}


Share this post


Link to post
Share on other sites
Advertisement
Are you compiling as a C++ file? If so, did you extern "C" the ScreenSaverProc?

Share this post


Link to post
Share on other sites
Yes, and no I didn't, did it and had same result.
After a while I noticed that UNICODE was set in the project settings, turned it off and it compiled fine with and without extern "C".
Thanks.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement