Сегодня я расскажу о том, как создать проект Code::Blocks, использующий в своей работе сторонние библиотеки. В качестве сторонней библиотеки мы возьмем библиотеку wxPropertyGrid, предоставляющую возможность встроить редактор свойств в приложение.
Для того, чтобы проверить как все работает, нам необходимо создать тестовое приложение, которое будет использовать в своей работе дополнительную библиотеку. Тестовое приложение я собирал с настройками, указанными ниже:
Исходный код тестового приложения:
#include <wx/wx.h>
#include <wx/propgrid/propgrid.h>
class wxTestApp : public wxApp
{
virtual bool OnInit();
};
DECLARE_APP(wxTestApp)
class wxTestMainFrame : public wxFrame
{
void CreateControls()
{
wxBoxSizer * sizer = new wxBoxSizer(wxVERTICAL);
SetSizer(sizer);
wxPropertyGrid * propgrid = new wxPropertyGrid(this, wxNewId(),
wxDefaultPosition, wxDefaultSize, 0);
sizer->Add(propgrid, 1, wxEXPAND);
}
public:
wxTestMainFrame()
{
Create(NULL);
}
bool Create(wxWindow * parent, wxWindowID id = wxID_ANY, const wxString & title = wxT("wxTest"))
{
bool res = wxFrame::Create(parent, id, title);
if(res)
{
CreateControls();
}
return res;
}
};
bool wxTestApp::OnInit()
{
wxTestMainFrame * frame = new wxTestMainFrame();
SetTopWindow(frame);
frame->Centre();
frame->Show();
return true;
}
IMPLEMENT_APP(wxTestApp)
После того, как мы создали тестовое приложение, нам необходимо добавить библиотеку wxPropertyGrid в workspace. wxPropertyGrid распространяется в виде архива с исходным кодом, который мы распакуем в подкаталог propgrid. Далее в Code::Blocks создаем новый проект статической библиотеки:
Нам необходимо чтобы файл проекта был создан в папке propgrid/build, поэтому этот параметр необходимо подправить вручную:
Изменяем параметры таким образом чтобы наша бибилиотека создавалась в каталоге propgrid/lib (чего-то мне показалось, что параметр Output dir в текущей версии Code::Blocks не работает):
Далее идем в настройки проекта и видим, что в Output filename у нас записано немного не то, что мы указывали при создании проекта, а именно, файл библиотеки с текущими параметрами будет создаваться в каталоге propgrid/build (в каталоге с проектом). Изменяем параметр Output filename и указываем новый путь вывода статической библиотеки:
Теперь нам необходимо указать, в какой папке наш проект статической библиотеки будет искать заголовочные файлы. Пути к заголовочным файлам необходимо указать в настройках общих для обеих сборок (Debug и Release):
Для того, чтобы проект библиотеки был собран с такими же настройками как и наше тестовое приложение (это требование обязательно), нам необходимо скопировать список директив компилятора из проекта приложения в проект библиотеки:
Далее проставляем зависимости:
Добавляем в список каталогов для поиска заголовочных файлов каталог с заголовочными файлами wxPopertyGrid:
В список каталогов для поиска библиотек добавляем путь к папке со статической библиотекой wxPropertyGrid:
В настройках линкера в список зависимостей добавляем статическую библиотеку wxPropertyGrid:
Вот и все, можно собирать проект. После сборки получим приблизительно такой результат:
Введение Уже долгое время не пишу статьи о разработке, хотя сам процесс написания мне очень…
I can see that there is still a lot of topics at wxWidgets forums related…
I've just published the source code of wxToolBox component and a couple of sample apps at…
Microsoft released their Kinect SDK several days ago. So, for those wxWidgets developers who are…
JSON (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to…
Вдохновленнный читаемой нынче книгой My Job Went to India: 52 Ways to Save Your Job…