wxSplitterWindow Topic is solved

If you are using the main C++ distribution of wxWidgets, Feel free to ask any question related to wxWidgets development here. This means questions regarding to C++ and wxWidgets, not compile problems.
Post Reply
Dark_Phoenix
Knows some wx things
Knows some wx things
Posts: 48
Joined: Sat Jul 04, 2009 2:27 pm
Location: Houston, TX

wxSplitterWindow

Post by Dark_Phoenix »

I am trying to create a splitter window and am getting a ton of linker errors that all reference a function "Gdiplus"

Code: Select all

wxmsw28d.lib(monolib_renderer.obj)||error LNK2019: unresolved external symbol _GdipReleaseDC@8 referenced in function "public: void __thiscall Gdiplus::Graphics::ReleaseHDC(struct HDC__ *)" (?ReleaseHDC@Graphics@Gdiplus@@QAEXPAUHDC__@@@Z)|
I did some googleing and found that I needed to link to gdiplus.lib so I added that to my project dependencies. Now I get only one linker error

Code: Select all

wxmsw28d.lib(monolib_extended.obj)||error LNK2001: unresolved external symbol __HUGE|
I have not been able to find any informatino on this
Here is the code that I have now...
file : "AccountViewer.h"

Code: Select all

class CAccountViewer : public wxSplitterWindow
{
    public:
    CAccountViewer(wxWindow *pParent);
    ~CAccountViewer();

    private:
    wxPanel  *m_pTopPanel;
    wxPanel  *m_pBottomPanel;
};
file: AccountViewer.cpp

Code: Select all

CAccountViewer::CAccountViewer(wxWindow *pParent)
: wxSplitterWindow(pParent, wxID_ANY)
{
    m_pTopPanel = new wxPanel(this, IDP_TOP, wxDefaultPosition, wxDefaultSize, wxVSCROLL);
    m_pBottomPanel = new wxPanel(this, IDP_BOTTOM);
}

CAccountViewer::~CAccountViewer()
{

}
Any other ideas?
MrDoom
Knows some wx things
Knows some wx things
Posts: 31
Joined: Sat Aug 16, 2008 9:24 pm
Location: England
Contact:

Post by MrDoom »

What other libraries are you linking to?

I link against the following (building from static-libs):
wxbase28ud.lib
wxmsw28ud_core.lib
winmm.lib

Plus the following which are inherited by Visual Studio:
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
Dark_Phoenix
Knows some wx things
Knows some wx things
Posts: 48
Joined: Sat Jul 04, 2009 2:27 pm
Location: Houston, TX

Post by Dark_Phoenix »

I am linking to

Code: Select all

wxmsw28d_core.lib
wxbase28d.lib
wxmsw28d.lib
msvcrtd.lib
rpcrt4.lib
user32.lib
gdi32.lib
comdlg.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
comctl32.lib
gdiplus.lib
I cannot find the library I need to link to for the symbol '__HUGE'
Dark_Phoenix
Knows some wx things
Knows some wx things
Posts: 48
Joined: Sat Jul 04, 2009 2:27 pm
Location: Houston, TX

Post by Dark_Phoenix »

OK, I found this but of info that solved the problem
These a global CRT variables. __HUGE is used when you use floating point math. These global variables are replaced by functions when you compile with /MD. __HUGE turns into __HUGE_dll for example. Seeing those linker errors can only be explained if you didn't link libcmt.lib. Project + Properties, Linker, Command Line, add the /VERBOSE option so you can see which .libs are being searched.
I linked to libcmt.lib and everything works now.
Post Reply