User forums > Help

wxWidgets Hello World! fails to build

(1/3) > >>

Frank_CB:
I created a C++ console project. It was 'Hello World'. Both debug and release projects compiled fine. I then replaced the code in main.cpp with the code from wxWidgets 'Hello World'. Custom variables and search directories were modified. Neither Debug or Release projects compiled.

Has anyone been successful in building wxWidgets 'Hello World' with any gnu/gcc compile version, with or without using any modifications to the project? Any suggestions would be greatly appreciated!

stahta01:
My suggestion is post a build log in code tags if you want help.

Tim S.

stahta01:
I am building an custom wxWidgets to see if my current CB project will work.

It will be building for a few more hours.

Edit: I had to add two missing $(WX_CFG)

--- Code: ---<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="wxMinimal" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Release">
<Option output="bin/Release/wxMinimal" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release/" />
<Option type="0" />
<Option compiler="gcc" />
<Compiler>
<Add option="-O2" />
<Add directory="$(#WX)/lib/$(WX_COMPILER)_dll$(WX_CFG)/msw$(WX_SUFFIX)" />
</Compiler>
<Linker>
<Add option="-s" />
<Add library="libwxmsw$(WX_VERSION)$(WX_SUFFIX).a" />
<Add directory="$(#WX)/lib/$(WX_COMPILER)_dll$(WX_CFG)" />
</Linker>
<Environment>
<Variable name="WX_SUFFIX" value="u" />
</Environment>
</Target>
<Environment>
<Variable name="WX_CFG" value="mono" />
<Variable name="WX_COMPILER" value="gcc1310MINGW64" />
<Variable name="WX_VERSION" value="32" />
</Environment>
</Build>
<Compiler>
<Add option="-Wall" />
<Add directory="$(#WX)/include" />
</Compiler>
<Unit filename="minimal.cpp" />
<Extensions />
</Project>
</CodeBlocks_project_file>

--- End code ---

Tim S.

Frank_CB:
Here's the build log of failed 'wxWidgets Hello World!' per stahta01's suggestion!


--- Code: ----------------- Clean: Release in hw (compiler: GNU GCC 13.1.0 Mingw64 Compiler)---------------

Cleaned "hw - Release"

-------------- Build: Release in hw (compiler: GNU GCC 13.1.0 Mingw64 Compiler)---------------

g++.exe  -I..\..\wxWidgets-3.2.2.1\lib\gcc_dll64\mswu -I..\..\wxWidgets-3.2.2.1\include -c C:\Sandbox1\hw\main.cpp -o obj\Release\main.o
g++.exe  -o bin\Release\hw.exe obj\Release\main.o   
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x32): undefined reference to `wxEntry(HINSTANCE__*, HINSTANCE__*, char*, int)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x71): undefined reference to `wxAppConsoleBase::CheckBuildOptions(char const*, char const*)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x174): undefined reference to `wxString::FromAscii(char const*)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x3cd): undefined reference to `wxMenuBar::wxMenuBar()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x4aa): undefined reference to `wxFrameBase::SetMenuBar(wxMenuBar*)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x4c7): undefined reference to `wxString::FromAscii(char const*)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x4ec): undefined reference to `wxFrameBase::CreateStatusBar(int, long, int, wxString const&)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x530): undefined reference to `wxFrameBase::SetStatusText(wxString const&, int)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x79e): undefined reference to `wxFrame::~wxFrame()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x7df): undefined reference to `wxWindowBase::Close(bool)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x851): undefined reference to `wxMessageBox(wxString const&, wxString const&, long, wxWindow*, int, int)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text+0x96f): undefined reference to `wxString::FromAscii(char const*)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_Z16wxGet_wxConvLibcv[_Z16wxGet_wxConvLibcv]+0x18): undefined reference to `wxGet_wxConvLibcPtr()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZNK14wxFormatStringcvPKwEv[_ZNK14wxFormatStringcvPKwEv]+0x14): undefined reference to `wxFormatString::AsWChar()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN8wxString7ImplStrEPKcRK8wxMBConv[_ZN8wxString7ImplStrEPKcRK8wxMBConv]+0x37): undefined reference to `wxString::ConvertStr(char const*, unsigned long long, wxMBConv const&)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN8wxObjectaSERKS_[_ZN8wxObjectaSERKS_]+0x26): undefined reference to `wxObject::Ref(wxObject const&)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN10wxListBaseC2E9wxKeyType[_ZN10wxListBaseC2E9wxKeyType]+0x2c): undefined reference to `wxListBase::Init(wxKeyType)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN50wxStringToStringHashMap_wxImplementation_HashTable5clearEv[_ZN50wxStringToStringHashMap_wxImplementation_HashTable5clearEv]+0x29): undefined reference to `_wxHashTableBase2::DeleteNodes(unsigned long long, _wxHashTable_NodeBase**, void (*)(_wxHashTable_NodeBase*))'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN47wxStringToNumHashMap_wxImplementation_HashTable5clearEv[_ZN47wxStringToNumHashMap_wxImplementation_HashTable5clearEv]+0x29): undefined reference to `_wxHashTableBase2::DeleteNodes(unsigned long long, _wxHashTable_NodeBase**, void (*)(_wxHashTable_NodeBase*))'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN23wxCriticalSectionLockerC1ER17wxCriticalSection[_ZN23wxCriticalSectionLockerC1ER17wxCriticalSection]+0x26): undefined reference to `wxCriticalSection::Enter()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN23wxCriticalSectionLockerD1Ev[_ZN23wxCriticalSectionLockerD1Ev]+0x17): undefined reference to `wxCriticalSection::Leave()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN8wxThread6IsMainEv[_ZN8wxThread6IsMainEv]+0x16): undefined reference to `wxThread::GetCurrentId()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN15wxLogRecordInfoC1EPKciS1_S1_[_ZN15wxLogRecordInfoC1EPKciS1_S1_]+0x5e): undefined reference to `wxThread::GetCurrentId()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN5wxLog9IsEnabledEv[_ZN5wxLog9IsEnabledEv]+0x15): undefined reference to `wxLog::IsThreadLoggingEnabled()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN5wxLog14IsLevelEnabledEmRK8wxString[_ZN5wxLog14IsLevelEnabledEmRK8wxString]+0x20): undefined reference to `wxLog::GetComponentLevel(wxString const&)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN8wxLogger11DoCallOnLogEmRK8wxStringPc[_ZN8wxLogger11DoCallOnLogEmRK8wxStringPc]+0x1b): undefined reference to `wxGetUTCTimeMillis()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN8wxLogger11DoCallOnLogEmRK8wxStringPc[_ZN8wxLogger11DoCallOnLogEmRK8wxStringPc]+0x80): undefined reference to `wxString::FormatV(wxString const&, char*)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN8wxLogger11DoCallOnLogEmRK8wxStringPc[_ZN8wxLogger11DoCallOnLogEmRK8wxStringPc]+0x91): undefined reference to `wxLog::OnLog(unsigned long, wxString const&, wxLogRecordInfo const&)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN11wxTrackable10RemoveNodeEP13wxTrackerNode[_ZN11wxTrackable10RemoveNodeEP13wxTrackerNode]+0x8f): undefined reference to `wxOnAssert(char const*, int, char const*, char const*, char const*)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN20wxObjectEventFunctorD1Ev[_ZN20wxObjectEventFunctorD1Ev]+0x22): undefined reference to `wxEventFunctor::~wxEventFunctor()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZNK12wxWindowBase18GetBestVirtualSizeEv[_ZNK12wxWindowBase18GetBestVirtualSizeEv]+0x27): undefined reference to `wxWindowBase::GetBestSize() const'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZNK12wxWindowBase12CanBeFocusedEv[_ZNK12wxWindowBase12CanBeFocusedEv]+0x31): undefined reference to `wxWindowBase::IsEnabled() const'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN12wxWindowBase25ProcessWindowEventLocallyER7wxEvent[_ZN12wxWindowBase25ProcessWindowEventLocallyER7wxEvent]+0x27): undefined reference to `wxEvtHandler::ProcessEventLocally(wxEvent&)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZNK12wxWindowBase10HasCaptureEv[_ZNK12wxWindowBase10HasCaptureEv]+0xd): undefined reference to `wxWindowBase::GetCapture()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZNK12wxWindowBase20GetDefaultAttributesEv[_ZNK12wxWindowBase20GetDefaultAttributesEv]+0x26): undefined reference to `wxWindowBase::GetClassDefaultAttributes(wxWindowVariant)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN8wxWindowC2Ev[_ZN8wxWindowC2Ev]+0x17): undefined reference to `wxWindowBase::wxWindowBase()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN8wxWindowC2Ev[_ZN8wxWindowC2Ev]+0x59): undefined reference to `wxWindow::Init()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN8wxWindowC2Ev[_ZN8wxWindowC2Ev]+0x6a): undefined reference to `wxWindowBase::~wxWindowBase()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN8wxWindow14ShowWithEffectE12wxShowEffectj[_ZN8wxWindow14ShowWithEffectE12wxShowEffectj]+0x2c): undefined reference to `wxWindow::MSWShowWithEffect(bool, wxShowEffect, unsigned int)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN8wxWindow14HideWithEffectE12wxShowEffectj[_ZN8wxWindow14HideWithEffectE12wxShowEffectj]+0x2c): undefined reference to `wxWindow::MSWShowWithEffect(bool, wxShowEffect, unsigned int)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN20wxTopLevelWindowBase8IsActiveEv[_ZN20wxTopLevelWindowBase8IsActiveEv]+0x14): undefined reference to `wxWindowBase::FindFocus()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN20wxTopLevelWindowBase8IsActiveEv[_ZN20wxTopLevelWindowBase8IsActiveEv]+0x1f): undefined reference to `wxWindowBase::IsDescendant(wxWindowBase*) const'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4_[_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4_]+0x23): undefined reference to `wxFrameBase::wxFrameBase()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4_[_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4_]+0x41): undefined reference to `wxFrame::Init()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4_[_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4_]+0x7b): undefined reference to `wxFrame::Create(wxWindow*, int, wxString const&, wxPoint const&, wxSize const&, long, wxString const&)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4_[_ZN7wxFrameC2EP8wxWindowiRK8wxStringRK7wxPointRK6wxSizelS4_]+0x8c): undefined reference to `wxFrameBase::~wxFrameBase()'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN7wxFrame19MSWTranslateMessageEP6tagMSG[_ZN7wxFrame19MSWTranslateMessageEP6tagMSG]+0x23): undefined reference to `wxFrame::MSWDoTranslateMessage(wxFrame*, tagMSG*)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN20wxwxMenuItemListNodeC1EP10wxListBasePS_S2_P10wxMenuItemRK9wxListKey[_ZN20wxwxMenuItemListNodeC1EP10wxListBasePS_S2_P10wxMenuItemRK9wxListKey]+0x3e): undefined reference to `wxNodeBase::wxNodeBase(wxListBase*, wxNodeBase*, wxNodeBase*, void*, wxListKey const&)'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZNK14wxMenuItemList4FindERK9wxListKey[_ZNK14wxMenuItemList4FindERK9wxListKey]+0x1c): undefined reference to `wxListBase::Find(wxListKey const&) const'
C:/Mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: obj\Release\main.o:main.cpp:(.text$_ZN14wxMenuItemListD1Ev[_ZN14wxMenuItemListD1Ev]+0x22): undefined reference to `wxListBase::~wxListBase()'
Process terminated with status 1 (1 minute(s), 6 second(s))
50 error(s), 0 warning(s) (1 minute(s), 6 second(s))
 


--- End code ---

PB:
Well, it's pretty obvious that you do not tell the linker about the wxWidgets libraries needed and where to find them.

Using console template as a starting point for a GUI library project seems rather odd choice, particularly when C::B ships with a wxWidgets project template wizard which makes using wxWidgets with C::B trivial.

Your build command line should look like something like this, where I bolded some of the important parts you are missing

--- Quote ----------------- Build: Release in testwx321 (compiler: msys2-mingw-w64-x86_64)---------------

windres.exe -IC:\dev\libs\wxWidgets-3.2\include -IC:\dev\libs\wxWidgets-3.2\lib\gcc_dll\mswu -DwxUSE_DPI_AWARE_MANIFEST=2  -J rc -O coff -i C:\dev\TESTWX~1\resource.rc -o obj\Release\resource.res
g++.exe -Wall -pipe -mthreads -D__GNUWIN32__ -D__WXMSW__ -DWXUSINGDLL -DwxUSE_UNICODE -O2 -DNDEBUG -IC:\dev\libs\wxWidgets-3.2\include -IC:\dev\libs\wxWidgets-3.2\lib\gcc_dll\mswu -c C:\dev\testwx321\test.cpp -o obj\Release\test.o
g++.exe -LC:\dev\libs\wxWidgets-3.2\lib\gcc_dll -o bin\Release\testwx321.exe  obj\Release\test.o obj\Release\resource.res -s -mthreads -lwxmsw32u_core -lwxbase32u -mwindows
Output file is bin\Release\testwx321.exe with size 86.50 KB

--- End quote ---
Please notice there is a windows resource file, without having it and it including wx.rc, your application will not have a compatibility manifest, which will result in your application looking weird and some issues (e.g., bitmap transparency in toolbar).
Also, without -mwindows, the application will show a console, which is generally not welcome in a GUI application.

Once again, I suggest not trying to reinvent a wheel and using the C::B wizard shipped with a nightly (or the one from my guide).

Navigation

[0] Message Index

[#] Next page

Go to full version