I've compared to wxAUI & got a little further but am still having issues. Here is what I've done:
webconnect project modified to create a DLL:
- Changed all class definitions to "class WXDLLIMPEXP_AUI theClassName"
- preprocessor defines: WXUSINGDLL and WXMAKINGDLL_AUI defined.
The combination of the two sets WXDLLIMPEXP to WXEXPORT, thus "class WXEXPORT theClassName". This works for creating a DLL.
testapp project modified in attempt to use webconnect.dll:
- preprocessor defines: WXUSINGDLL and WXUSINGDLL_AUI
This results in the following at build time:
- Code: Select all
1>testapp.obj : error LNK2001: unresolved external symbol "protected: static struct wxEventTable const wxFrame::sm_eventTable" (?sm_eventTable@wxFrame@@1UwxEventTable@@B)
1>testapp.obj : error LNK2001: unresolved external symbol "class wxPoint const wxDefaultPosition" (?wxDefaultPosition@@3VwxPoint@@B)
1>testapp.obj : error LNK2001: unresolved external symbol "wchar_t const * const wxMessageBoxCaptionStr" (?wxMessageBoxCaptionStr@@3QB_WB)
1>testapp.obj : error LNK2001: unresolved external symbol "wchar_t const * const wxEmptyString" (?wxEmptyString@@3PB_WB)
1>testapp.obj : error LNK2001: unresolved external symbol "protected: static class wxAppConsole * wxAppConsole::ms_appInstance" (?ms_appInstance@wxAppConsole@@1PAV1@A)
1>testapp.obj : error LNK2019: unresolved external symbol "public: void __thiscall wxWebPreferences::SetIntPref(class wxString const &,int)" (?SetIntPref@wxWebPreferences@@QAEXABVwxString@@H@Z) referenced in function "public: __thiscall MyFrame::MyFrame(class wxWindow *,int,class wxString const &,class wxPoint const &,class wxSize const &,long)" (??0MyFrame@@QAE@PAVwxWindow@@HABVwxString@@ABVwxPoint@@ABVwxSize@@J@Z)
1>testapp.obj : error LNK2001: unresolved external symbol "class wxValidator const wxDefaultValidator" (?wxDefaultValidator@@3VwxValidator@@B)
1>testapp.obj : error LNK2001: unresolved external symbol "wchar_t const * const wxComboBoxNameStr" (?wxComboBoxNameStr@@3QB_WB)
1>testapp.obj : error LNK2001: unresolved external symbol "class wxSize const wxDefaultSize" (?wxDefaultSize@@3VwxSize@@B)
1>testapp.obj : error LNK2001: unresolved external symbol "wchar_t const * const wxStatusLineNameStr" (?wxStatusLineNameStr@@3QB_WB)
1>testapp.obj : error LNK2001: unresolved external symbol "wchar_t const * const wxFrameNameStr" (?wxFrameNameStr@@3QB_WB)
1>testapp.obj : error LNK2001: unresolved external symbol "wchar_t const * const wxFileDialogNameStr" (?wxFileDialogNameStr@@3QB_WB)
1>testapp.obj : error LNK2001: unresolved external symbol "public: static enum wxTextFileType const wxTextBuffer::typeDefault" (?typeDefault@wxTextBuffer@@2W4wxTextFileType@@B)
1>testapp.obj : error LNK2001: unresolved external symbol "protected: static class wxAppConsole * (__cdecl* wxAppConsole::ms_appInitFn)(void)" (?ms_appInitFn@wxAppConsole@@1P6APAV1@XZA)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_NULL" (?wxEVT_NULL@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_WEB_DOMCONTENTLOADED" (?wxEVT_WEB_DOMCONTENTLOADED@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_WEB_SHOULDHANDLECONTENT" (?wxEVT_WEB_SHOULDHANDLECONTENT@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_WEB_INITDOWNLOAD" (?wxEVT_WEB_INITDOWNLOAD@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_WEB_SHOWCONTEXTMENU" (?wxEVT_WEB_SHOWCONTEXTMENU@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_WEB_TITLECHANGE" (?wxEVT_WEB_TITLECHANGE@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_WEB_LOCATIONCHANGE" (?wxEVT_WEB_LOCATIONCHANGE@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_WEB_STATECHANGE" (?wxEVT_WEB_STATECHANGE@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_WEB_STATUSCHANGE" (?wxEVT_WEB_STATUSCHANGE@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_WEB_STATUSTEXT" (?wxEVT_WEB_STATUSTEXT@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_UPDATE_UI" (?wxEVT_UPDATE_UI@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_COMMAND_MENU_SELECTED" (?wxEVT_COMMAND_MENU_SELECTED@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_COMMAND_COMBOBOX_SELECTED" (?wxEVT_COMMAND_COMBOBOX_SELECTED@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_COMMAND_TEXT_ENTER" (?wxEVT_COMMAND_TEXT_ENTER@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_ERASE_BACKGROUND" (?wxEVT_ERASE_BACKGROUND@@3HB)
1>testapp.obj : error LNK2001: unresolved external symbol "int const wxEVT_SIZE" (?wxEVT_SIZE@@3HB)
Testapp is being linked against all of the proper wxWidgets libs as well as the new webconnect.lib (DLL version). I've build both 100% clean. I'm probably missing something obvious?
Thanks again for any additional information!