Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: wxWidgets-ohjelma ei käänny

wxOngelmoija [06.12.2011 18:31:25]

#

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

Metabolix [06.12.2011 18:36:36]

#

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)

wxOngelmoija [06.12.2011 18:43:52]

#

Jaa... Ainakin tuollai pystyin kääntämään wxWidgetsin sivuilta löytyvän esimerkin...

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

Mutta kiitos kumminkin. :)

Metabolix [06.12.2011 18:49:06]

#

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ää.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta