Boost как подключить code blocks

Configuring Code::Blocks to use the Boost Libraries in Windows and Linux

Some examples of how to configure Code::Blocks to use the Boost C++ libraries:

1. Header-only (Windows)
2. Compiled libraries (Windows)
3. Compiled libraries (Ubuntu Linux)

1. Header-only (Windows)

To configure Code::Blocks to use a header-only Boost library: Boost.DateTime. Select File > New > Project > Empty Project:

Give the project a name and click Next:

Choose the C++ compiler you are currently using, such as Cygwin or MinGW and then click Finish:

Add the main.cpp source file by selecting File > New > Empty File. Click Yes when prompted if we wish to add this to the current active project:

And then save your file:

Then make sure the Debug and Release checkboxes are set:

An example that only requires the use of non-compiled libraries, the Boost.DateTime example. Paste the following into the main.cpp file you just created:

Notice that the Code::Blocks compiler still needs to know where to find the Boost.Format and Boost.Datetime libraries otherwise it will not successfully compile:

Right-click your project folder and select Build Options. Select the Search Directories tab and then select the Compiler tab:

Click the Add button and notice that the Add Directory dialog defaults to the current project folder location:

Click the browse button to the right in order to locate and select your Boost root directory:

Click OK and choose Yes to keep this as a relative path if prompted:

You are then returned to the Project Build Options dialog. Click OK.

Choose Build again and this time the project will build successfully:

Clicking the run button will the give the following output:

2. Compiled libraries (Windows)

An example this time using a Boost library requiring additional compilation, Boost.FileSystem.

To generate the necessary library files, open a command prompt, navigate to the Boost root directory and execute the commands. In this example I am using compiled libraries generated for MinGW:

As with the header-only example, create the empty project, set the compiler choice and set the Debug/Release targets:

Insert a new empty file and save it as our main.cpp. Insert the following code which exercises the file system library:

As before, right-click your project folder and select Build Options. Select the Search Directories tab and then select the Compiler tab. Set the location of the Boost root directory:

Select the Linker tab and set the location of the library files:

In the Linker Setting tab add the necessary library names, which in this example will be the filesystem and system libraries:

These are the libraries that are generated through running the bootstrap.bat and b2.exe via command line in the Boost root directory.

The compiled-library example should now compile and run the example to read and display the file names inside my “MyStuff” directory:

3. Compiled libraries (Ubuntu Linux)

One more example, this time using Code::Blocks in a Linux (Ubuntu) environment, using Boost.Threads as the compiled library example.

First make sure you have an up-to-date Boost installed using the apt-get command:

READ  Как подключить скачанный шрифт на сайт

Create a new Empty Project as with the previous Windows examples. This time we will call it BoostThreads:

Set the Compiler configuration and click Finish:

Insert a new empty file and save it as our main.cpp. Do this by selecting New > Empty File:

Insert the following code in main.cpp which exercises the Boost Threads library:

We now configure the include and library paths etc. If you are unsure of where your Boost libraries have been installed in Linux, the

can be fairly useful:

On my machine the compiled library files were located in the /usr/lib/i386-linux-gnu/ folder:

As with the Windows compiled library example, right-click your project folder and select Build Options. Select the Search Directories tab and then select the Compiler tab. Set the location of the include directory:

Click the Linker tab, and select the location of the compiled libraries

Select the ‘Linker Settings’ tab and add the names of the compiled Boost libraries that we will need: boost_thread and boost_system (for some reason any program using Boost threads needs to use this)

Источник

BoostWindowsQuickRef

A beginner’s quick reference for setting up Boost with Code::Blocks in Windows
Supported compilers: MinGW or MSVC

Contents

Download Boost

You can download the Boost source code and compile it yourself, or, only if you are using MSVC 2003 (7.1) or later, you can use a web-based installer to download pre-built libraries.

Boost Source Code

You also need to download Boost Jam in order to build Boost. The current stable release of Boost Jam is 3.1.18. Click here to download Boost Jam for Windows (boost-jam-3.1.18-1-ntx86.zip; 121.4 KB).

Note: Downloading precompiled bjam seems to be an outdated method. To build bjam from source, use bootstrap.bat from Boost base directory. Bootstrap.bat assumes you are using msvc compiler, to use Gcc, type «bootstrap.bat gcc»

It is highly recommended that you unpack both archives to paths without spaces. You should choose a volume with at least 1.5 GB of free space. Typically, the Boost sources and Boost Jam are unpacked in separate locations, ending up with «

Boost Installer for MSVC 2003 (7.1) or later

BoostPro Computing distributes a free web-based installer that will download and install prebuilt versions of the Boost libraries for MSVC. Click here to browse the BoostPro Free Downloads. The amount of space used by the installation varies depending on which libraries and variants you choose.

Build Boost

This step is unnecessary if you are using the BoostPro installer

is the path you unpacked the Boost sources to):

Note: the /D flag after cd may be omitted from the command; it simply allows command prompt to change drives if necessary.

Add Boost to an existing project in Code::Blocks

The Boost libraries are usable in nearly any Code::Blocks project. You can create a new project that will use Boost or open an existing project. With your project open, perform these steps.

Set up a Code::Blocks global variable for Boost

This step only needs to be performed once, after which the global variable you’ve created will be available for any project.

Add Boost search directories to your project

Your project is now ready to use the Boost libraries. For each library you want to use, do the following:

For example, use «#include «, «boost_filesystem-mgw45-mt-1_47» and «boost_system-mgw45-mt-1_47» to use boost.filesystem.

settings compiler & debugger linker settings add

examples: (order does matter) F:\CodeBlocks\lib\libboost_regex-mgw44-1_51.a F:\CodeBlocks\lib\libboost_thread-mgw44-mt-1_51.a F:\CodeBlocks\lib\libboost_chrono-mgw44-1_51.a f:\codeblocks\lib\*.a

Test boost installation

After the installation, you can use these two examples to test whether your boost installation and the configuration of your Code::Blocks are successful. If it fails, this post may have some useful information.

Frequently Asked Questions

Do I need to link with a library for every Boost component I use?

No. Only some of the Boost components require pre-compilation and additional linked-in code. You can even skip building Boost altogether, if you’ll only need components without a link-time library. If you want to know whether a specific component requires a pre-built library, just try including the header(s) without making any linker additions. If you get undefined reference errors, you’ll need to add the component’s library. Boost maintains a list of which libraries require pre-compilation. (An undefined reference error including WSA requires the windows sockets libraries, ws2_32 and wsock32.)

READ  Как подключить юсб флешку к планшету андроид

Источник

10 настроек CodeBlocks, которые надо сделать сразу после установки

Сразу после установки CodeBlocks настройте его под себя. Среда CodeBlocks была сделана программистами для программистов. Она имеет множество настроек. Рассмотрим самые важные.

1. Установите ассоциации с файлом проектов

Выполните «Меню — Настройки — Среда»

Нажмите кнопку «Управление».

Нажмите сначала «Удалить все», чтобы не было лишних ассоциаций, а потом установите те из них, которые вам нужны. Если вы новичок, то рекомендую поставить галочку только в первой строчке «.cbp (project file). В этом случае вы будет уверены, что если зашли в проект, то всё будет работать.

Затем нажмите «Применить».

2. Увеличьте шрифт редактора

Шрифт редактора по умолчанию мелковат.

Нажмите на клавишу Ctrl и, не отпуская, покрутите колесо мыши. Так можно быстро выбрать комфортный шрифт.

3. Увеличьте шрифт выводимых сообщений

С помощью предыдущего приёма вы можете установить размер шрифта в окне «Журнал сборки»:

Но неудобство в том, что размер шрифта в этом журнале будет опять сброшен после следующей сборки.

Поэтому войдите в меню «Настройки — Среда — Вид»

И поставьте нужный размер шрифта логов сообщений.

4. Выберите стиль отступов

Так как язык Си — это язык свободной формы, то программист волен располагать текст программы как угодно. Компилятор всё равно ориентируется на точки с запятой в конце команды. Это породило целый ряд возможных стилей отступа. И CodeBlocks позволяет выбрать любой из самых популярных стилей.

Для этого войдите в меню «Настройки — Редактор — Средства форматирования»

Я рекомендую использовать Allman (ANSI), который наиболее удобен по целому ряду причин:

Но, конечно же, если вы привыкли к другому стилю, то выбирайте его.

5. Создайте свой шаблон проекта

Когда вы создаете новый проект, то CodeBlocks предлагает целый ряд шаблонов. Вы легко можете добавить свой. Для этого начните с любого шаблона (или с чистого листа), и напишите вашу минимальную программу.

Потом войдите в меню «Файл — Сохранить проект как шаблон…»

Введите имя шаблона и нажмите Ok.

Для создания нового проекта по этому шаблону войдите в меню «Файл — Создать — Проект — Пользовательские шаблоны»

6. Установите код текста программы по умолчанию

Войдите в меню: «Настройки — Редактор — Код по умолчанию» и добавьте код, с которого вы обычно начинаете ваш файл. Обычно это комментарий к программе.

Вы можете задать свой текст для каждого вида файла. При создании нового файла этого типа в начале уже будет размещён этот код.

7. Настройте стиль подсветки синтаксиса

CodeBlocks уже имеет настройки подсветки синтаксиса для множества языков программирования. Вы можете как выбрать уже готовый стиль, так и создать новые цветовые схемы.

Для этого войдите в меню: «Настройки — Редактор — Подсветка синтаксиса»

Здесь вы можете настроить подсветку любых элементов текста.

8. Настройте сочетания клавиш

В среде CodeBlocks множество пунктов меню. Вы можете настроить сочетания клавиш для быстрого доступа к нужным пунктам.

Для этого войдите в меню: «Настройки — Редактор — Сочетания клавиш»

Здесь вы можете создать несколько профилей, и в каждом профиле определить свои клавиатурные сокращения для вызова пунктов меню.

9. Настройте сокращения для быстрого ввода кода

Кроме автодополнения кода в CodeBlocks есть дополнительно так называемые сокращения.

Автодополнение кода — это подсказка редактора, когда вы набираете часть слова, а редактор предлагает возможные варианты:

Сокращения — это наборы букв, которые нужно написать и нажать Ctrl+J. После этого в текст будут вставлены полный текст.

Для настройки сокращений войдите в меню: «Настройки — Редактор — Сокращения»

READ  Как подключить телефон через музыкальный центр

Вы здесь видите, что если набрать «ife» и нажать Ctrl+J, то в текст будет вставлена структура «if — else». Это позволяет ускорить ввод кода.

10. Добавьте сниппеты

Сниппеты — это фрагменты кода, которые можно вставлять в текст простым перетаскиванием мышкой.

Для включения окна сниппетов поставьте галочку в пункте меню «Вид — Фрагменты программы»

После этого щёлкните правой кнопкой мыши на строке «codesnippets»

Нажмите «Добавить фрагмент программы» и введите текст кода и заголовок.

Теперь если мышкой перетащить заголовок сниппета в текст программы, то будет вставлен фрагмент текста. Это позволяет быстро добавлять повторяющиеся тексты в программе и избегать ошибок при вводе.

Как видите, среда CodeBlocks может быть настроена для удобной и эффективной работы.

Обратите внимание! ▼

Похожие записи:

Комментарии 24

Спасибо за ценную информацию, Константин. Я — новичок в программировании на С, поэтому она мне очень кстати.

отличная информация и очень ценная. спасибо огромное, ВАМ!

с наступающим 2018 годом!
здоровья, удачи, любви и тепла в Вашем доме.
Спасибо.
С уважением,
Юрий Бородицкий

Здравствуйте! Это по поводу урока в вашем курсе Азбука программирования. У меня некорректно срабатывает программа. Когда делаю точку останова и нажимаю F8 устанавливается курсор на точку, как положено, но потом сразу открывается консоль, как при нажатии F9(при этом я F9 не нажимал). В консоли все выполняется правильно, как в вашем уроке. Но при нажатии любой клавиши консоль не закрывается, ее можно закрыть только, если полностью закрываешь программу codeBlock. Пожалуйста, помогите!

Скорее всего, у Вас не создан проект. Попробуйте создать проект по шаблону и выполнить отладку после этого.

Здравствуйте! В курсе азбука программирования не работает видео 4.2 Руссификация GTK. Так же и аудиофайл не скачивается. Исправьте, пожалуйста!

Проверил, всё работает. По техническим проблемам с получением курса пишите на zakaz@sheremetev.info

Здравствуйте! Подскажите, пожалуйста, что значит эта ошибка undefined reference to `gdk_color_parse’?

Это значит, что компилятор не может найти библиотеку. Её нужно указать явно.

не пойму, где у меня ошибка в коде

// 5.5 Текстовый редактор
#include

GtkWidget *textview1;
GtkTextBuffer *buffer1;

int ShowError()
<
GtkWidget *dialog;

dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
_U(» Не найден файл\n main.glade»));

// Меню «Создать»
G_MODULE_EXPORT void on_imagemenuitem1_activate (GtkButton *button, gpointer label)
<
gtk_text_buffer_set_text(buffer1, «», 0);
>

int ShowMainWindow()
<
GtkWidget *window1, *statusbar1;
GtkBuilder *builder;

builder = gtk_builder_new ();
if (gtk_builder_add_from_file (builder, «main.glade», NULL))
<
window1 = GTK_WIDGET(gtk_builder_get_object(builder, «window1»));
statusbar1 = GTK_WIDGET(gtk_builder_get_object(builder, «statusbar1»));
textview1 = GTK_WIDGET(gtk_builder_get_object(builder, «textview1»));

gtk_window_set_default_size (GTK_WINDOW (window1), 500, 300);
gtk_window_set_position(GTK_WINDOW(window1), GTK_WIN_POS_CENTER);

gtk_builder_connect_signals (builder, NULL);
g_signal_connect(G_OBJECT(window1), «destroy», G_CALLBACK(gtk_main_quit), NULL);

gtk_statusbar_push( GTK_STATUSBAR(statusbar1), 0, _U(«Строка состояния»));

// Поменяли цвет текста
GdkColor color;
gdk_color_parse («green», &color);
gtk_widget_modify_text(textview1, GTK_STATE_NORMAL, &color);

int main (int argc, char *argv[])
<
gtk_init (&argc, &argv);
if (ShowMainWindow ())
<
gtk_main ();
return 0;
>
else
<
ShowError();
return 1;
>
>

этот файл посмотрите, первый не точно скопировал
// 5.5 Текстовый редактор
#include #include

GtkWidget *textview1;
GtkTextBuffer *buffer1;

int ShowError()
<
GtkWidget *dialog;

dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR, GTK_BUTTONS_OK,
_U(” Не найден файл\n main.glade”));

// Меню “Создать”
G_MODULE_EXPORT void on_imagemenuitem1_activate (GtkButton *button, gpointer label)
<
gtk_text_buffer_set_text(buffer1, “”, 0);
>

int ShowMainWindow()
<
GtkWidget *window1, *statusbar1;
GtkBuilder *builder;

builder = gtk_builder_new ();
if (gtk_builder_add_from_file (builder, “main.glade”, NULL))
<
window1 = GTK_WIDGET(gtk_builder_get_object(builder, “window1”));
statusbar1 = GTK_WIDGET(gtk_builder_get_object(builder, “statusbar1”));
textview1 = GTK_WIDGET(gtk_builder_get_object(builder, “textview1”));

gtk_window_set_default_size (GTK_WINDOW (window1), 500, 300);
gtk_window_set_position(GTK_WINDOW(window1), GTK_WIN_POS_CENTER);

gtk_builder_connect_signals (builder, NULL);
g_signal_connect(G_OBJECT(window1), “destroy”, G_CALLBACK(gtk_main_quit), NULL);

gtk_statusbar_push( GTK_STATUSBAR(statusbar1), 0, _U(“Строка состояния”));

// Поменяли цвет текста
GdkColor color;
gdk_color_parse (“green”, &color);
gtk_widget_modify_text(textview1, GTK_STATE_NORMAL, &color);

int main (int argc, char *argv[])
<
gtk_init (&argc, &argv);
if (ShowMainWindow ())
<
gtk_main ();
return 0;
>
else
<
ShowError();
return 1;
>
>

У меня тоже не работает этот вариант — компилятор ругается на gdk_color_parse
В Sources.zip\Sources\Sources\Урок 5.5\main.c по другому реализовано изменение цвета текста:
// Поменяли цвет фрагмента текста
tag = gtk_text_buffer_create_tag (buffer1, «blue_foreground»,
«foreground», «blue», NULL);
gtk_text_buffer_get_iter_at_offset (buffer1, &start, 7);
gtk_text_buffer_get_iter_at_offset (buffer1, &end, 13);
gtk_text_buffer_apply_tag (buffer1, tag, &start, &end);
И это работает

Если компилятор выдает ошибку, на некоторую функцию, то это значит, что он не может найти библиотеку. Укажите явно библиотеку, в которой эта функция реализована.

Источник

Поделиться с друзьями
Как подключить и установить...
Adblock
detector