Сегодня я расскажу о том, как создать проект 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:

Вот и все, можно собирать проект. После сборки получим приблизительно такой результат:

Скачать пример