Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

wxWidgets linking problem

I installed wxWidgets-2.8.10 following instructions from this page: http://wiki.wxwidgets.org/Compiling_and_getting_started

Libraries directory:

alex@alex-linux:/usr/local/lib$ ls | grep wx
libwx_base-2.8.a
libwx_base_net-2.8.a
libwx_base_xml-2.8.a
libwx_gtk2_adv-2.8.a
libwx_gtk2_aui-2.8.a
libwx_gtk2_core-2.8.a
libwx_gtk2_html-2.8.a
libwx_gtk2_qa-2.8.a
libwx_gtk2_richtext-2.8.a
libwx_gtk2_xrc-2.8.a
libwxtiff-2.8.a
wx

Then I created file widgetTest.cpp and filled it with this code: http://www.wxwidgets.org/docs/tutorials/hworld.txt

Trying to build it, I have a lot of linker errors:

alex@alex-linux:~$ cd /home/alex/Tmp
alex@alex-linux:~/Tmp$ g++ `wx-config --cppflags` `wx-config --libs` widgetTest.cpp
/tmp/ccnPCAw5.o: In function `wxCreateApp()':
widgetTest.cpp:(.text+0x2d): undefined reference to `wxAppConsole::CheckBuildOptions(char const*, char const*)'
/tmp/ccnPCAw5.o: In function `main':
...
widgetTest.cpp:(.text._ZN20wxThreadHelperThreadD0Ev[wxThreadHelperThread::~wxThreadHelperThread()]+0x16): undefined reference to `wxThread::~wxThread()'
collect2: ld returned 1 exit status

Additional information:

alex@alex-linux:~$ wx-config --cppflags
-I/usr/local/lib/wx/include/gtk2-ansi-release-static-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXGTK__
alex@alex-linux:~$ wx-config --libs
-L/usr/local/lib -pthread   /usr/local/lib/libwx_gtk2_richtext-2.8.a /usr/local/lib/libwx_gtk2_aui-2.8.a /usr/local/lib/libwx_gtk2_xrc-2.8.a /usr/local/lib/libwx_gtk2_qa-2.8.a /usr/local/lib/libwx_gtk2_html-2.8.a /usr/local/lib/libwx_gtk2_adv-2.8.a /usr/local/lib/libwx_gtk2_core-2.8.a /usr/local/lib/libwx_base_xml-2.8.a /usr/local/lib/libwx_base_net-2.8.a /usr/local/lib/libwx_base-2.8.a -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lgio-2.0 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lXinerama -lSM -lpng -ljpeg -lexpat -lwxtiff-2.8 -lz -ldl -lm 
alex@alex-linux:~$ 

What is wrong?

like image 847
Alex F Avatar asked Mar 03 '10 14:03

Alex F


People also ask

Which platforms do wxWidgets work with?

wxWidgets is supported on the following platforms: Windows – wxMSW (32/64-bits Windows XP up to Windows 10) Linux/Unix – wxGTK, wxX11, wxMotif. Mac OS – wxMac (Mac OS X 10.3 using Carbon, Mac OS X 10.5 using Cocoa), wxOSX/Cocoa (32/64-bits Mac OS X 10.7 or later)

Can you use wxWidgets with C?

Although wxWidgets is written in C++, you can use it with a variety of languages including Python, Perl, and C#. If using wxWidgets with C++, you will link your code to a different version of the library on each platform.

How long does it take to compile wxWidgets?

How long does it take to build the libraries? Understanding the various aspects involved in building the wxWidgets libraries should take between 20-60 minutes.


1 Answers

Does this help?

g++ `wx-config --cppflags` widgetTest.cpp `wx-config --libs`

Sometimes putting the libraries after the sources is required.

like image 128
Eric Seppanen Avatar answered Nov 07 '22 22:11

Eric Seppanen