Eli olen likenut wxWidgets tutoa (http://zetcode.com/tutorials/wxwidgetstutorial/) ja nyt kun yritän kääntää ensimmäistä ohjelmaa tulee virheet:
/tmp/cc2JASsd.o: In function `mainFrame::mainFrame(wxString const&)': main.cpp:(.text+0xb): undefined reference to `wxFrameNameStr' main.cpp:(.text+0x52): undefined reference to `wxDefaultPosition' main.cpp:(.text+0xbe): undefined reference to `wxFrame::~wxFrame()' ... ynnä 230 muuta undefined reference -virhettä, jotka moderaattori poisti ... collect2: ld:n paluuarvo oli 1
Eli ei mitään hajua että mikä on pielessä...
mainFrame.hpp:
#include <wx/wx.h> class mainFrame : public wxFrame { public: mainFrame(const wxString& title); }; mainFrame::mainFrame(const wxString& title) : wxFrame(NULL, wxID_ANY, title, wxDefaultPosition, wxSize(300,300)) { Centre(); }
main.cpp:
#include <wx/wx.h> #include "mainFrame.hpp" class main : public wxApp { public: virtual bool OnInit(); }; IMPLEMENT_APP(main) bool main::OnInit() { mainFrame* mainF = new mainFrame(wxT("Hello!")); mainF->Show(true); return true; }
Kiitos
Et ole linkittänyt wxWidget-kirjastoon oikein. Toisin sanoen käännöskomentosi (tai projektitiedostosi, jos käytät IDEä) on pielessä. Käänsin ohjelmasi seuraavalla komennolla, ja se toimi:
g++ main.cpp $(wx-config --cxxflags --libs)
Jaa... Ainakin tuollai pystyin kääntämään wxWidgetsin sivuilta löytyvän esimerkin...
g++ `wx-config --libs --cppflags` main.cpp
Mutta kiitos kumminkin. :)
No tuohan on käytännössä aivan sama komento. Tosin --cppflags on väärä parametri, tässä yhteydessä cpp tarkoittaa esikääntäjää ja cxx tarkoittaa C++-kääntäjää.
Aihe on jo aika vanha, joten et voi enää vastata siihen.