Настройка wxWidgets в Code :: Blocks? - PullRequest
1 голос
/ 19 января 2012

Я пытаюсь заставить этот код работать, но не могу.Я надеюсь, что он может работать, чтобы я мог использовать его в моем другом проекте.Я только что видел это в Интернете.Речь идет о wxOGL.

#include <wx/wx.h>
#include <wx/ogl/ogl.h>
#include <wx/cursor.h>

class MyApp: public wxApp
{
    virtual bool OnInit();
};

class MyFrame: public wxFrame
{
    wxDiagram * diagram;
    wxShape * shape;

public:

    MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size);
    ~MyFrame();
};

IMPLEMENT_APP(MyApp)

bool MyApp::OnInit()
{
    MyFrame *frame = new MyFrame(_("wxWidgets - Object Graphics Library"),
                             wxPoint(50, 50), wxSize(450, 340) );
    frame->Show(TRUE);
    SetTopWindow(frame);
    return TRUE;
}

MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size)
: wxFrame((wxFrame *)NULL, -1, title, pos, size)
{
    wxShapeCanvas *canvas = new wxShapeCanvas(this, wxID_ANY, pos, size, 0, _T("a"));

    canvas->SetBackgroundColour(*wxWHITE);
    canvas->SetCursor(wxCursor(wxCURSOR_CROSS));

    diagram = new wxDiagram();

    canvas->SetDiagram(diagram);

    shape = new wxCircleShape(20.0);
    shape->SetX(25.0);
    shape->SetY(25.0);
    canvas->AddShape(shape);

    diagram->ShowAll(1);
}

MyFrame::~MyFrame()
{
    delete shape;
    delete diagram;
}

Я не знаю, что он делает, я просто хочу взглянуть на это.Когда я компилирую его в Code :: Blocks, он продолжает возвращать сообщение об ошибке «wx / wx.h: нет такого каталога файлов» и другие ошибки.Кто-нибудь может это исправить?

Ответы [ 3 ]

1 голос
/ 19 января 2012

Эта ошибка означает, что либо файлы разработки wxWidgets не установлены должным образом, либо настройки вашего проекта повреждены.

1 голос
/ 30 июля 2013

Часто такие пакеты используют сценарии конфигурации для указания параметров компиляции / компоновщика.Так что, если вы просто используете компилятор gcc из командной строки:

g++ `wx-config --cflags` `wx-config --libs` -lwx_gtk2u_ogl-2.8 test.cpp -o test

В Code :: Blocks вы просто щелкаете правой кнопкой мыши свой проект, Build Options ..., выберите имя вашего проекта влевое окно (если Release / Debug выделены при выполнении следующего шага, изменения будут только для версии Release или Debug), вкладка «Настройки компилятора», вкладка «Другие параметры» и вставьте:

`wx-config --cflags`

Затем выберите вкладку Linker-settings и в окне Other-linker-options добавьте:

`wx-config --libs` -lwx_gtk2u_ogl-2.8

Эти две вещи обычно настраиваются для вас в C :: B, хотя (за исключением библиотеки OGL).Кроме того, эта программа использует библиотеку объектной графики (OGL), которая не является частью базового набора для wxWidgets, поэтому вам придется явно включить следующее:

-lwx_gtk2u_ogl-2.8

Имейте в виду, что часть -2.8 - это номер версии, который может отличаться на вашем компьютере.Вы можете выяснить, какая у вас версия, если она установлена, введя команду (linux):

find / usr / lib |grep -i wx |-i ogl

, который найдет все файлы в области вашей пользовательской библиотеки с именами "wx" и "ogl".

Удачи / Алан

1 голос
/ 19 января 2012

wx / wx.h: нет такого каталога файлов "

Ваш компилятор не может найти вашу установку wxWidgets. У Code :: Blocks people есть некоторая документация для настройкичто до .

...