Как добавить библиотеку в codeblocks
Перейти к содержимому

Как добавить библиотеку в codeblocks

Code::Blocks: использование графики OpenBGI

Для курса адаптирована графическая библиотека OpenBGI, для использования требуется подключить ее в настройках компановщика ProjectBuild options (вкладка Linker settings): в правом окне (Other linker options) прописать -lopenbgi -lgdi32 (вторая библиотека, стаднартная библиотека Windows, требуется для работы OpenBGI).

Можно также указать -mwindows -lopenbgi,

но это приведет к отключению консольного ввода/вывода вообще (то есть следует делать только, если он действительно не нужен). Также в этом случае следует изменить тип приложения на графическое: ProjectProperties, вкладка Build targets и для всех целей (Debug, Release) изменить тип с Console Application на GUI application (после этого консольное окно не будет появляться вообще).

После подключения библиотеки можно включать заголовочный файл graphics.h.

Документация к OpenBGI

Официальная на данный момент отсутствует. Что известно.

  1. Так как графика отображается в отдельном окне, функции консольного ввода вывода обрабатываются отдельно, нажатия клавиатуры в графическом окне обрабатывают readkey() и anykeypressed().
  2. Открытие графического окна осуществляется с помощью initgraph(int * gd, int * gm, const char * path); при этом '*gd' может быть DETECT, VGA (эквивалентны), CUSTOM (для пользовательского размера окна). Пример dg = CUSTOM;
    gm = CUSTOM_MODE(500,400);
    initgraph(&gd, &gm,"");
    создаст окно 500×400. Нельзя использовать CUSTOMgd с опцией FULL_SCREEN. '*gm' может быть VGAHI, VGALO, VGAMED (размеры соответствующие DOS BGI), также есть расширенные режимы GM_800x600, GM_1024x768 (это символические константы), 'path' может быть пустой строкой, но может также содержать опции (можно с разделителем или без)
    • "RGB" — использовать rgb режим вместо 16 цветом (есть соответствующие цветовые макросы);
    • "FULL_SCREEN" — установить полный экран;

пример: initgraph(&gd, &gm, "RGBFULL_SCREEN"); — полный экран с RGB режимом.

Санкт-Петербургский государственный университет © Кафедра информатики математико-механического факультета СПбГУ.

C++ Установка библиотек в Code::Blocks

Статьи по c++

В этой статье описывается, как настроить новые библиотеки в среде Code::Blocks.

Введение

На форумах есть много тем об установке библиотек в Code::Blocks, поэтому я надеюсь, что с помощью этой статьи вы сможете правильно установить все необходимые библиотеки. Используемая версия Code::Blocks – 10.05.

Главные файлы

Существует два способа включения заголовочных файлов (*.h / *.hpp) нашей библиотеки, я расскажу о более простом и “удобном”.

Первое, что нам нужно сделать, это извлечь все папки и файлы в какую-нибудь папку, например, в папку Library, расположенную на рабочем столе.

Затем в нашей IDE мы создаем новый проект. Теперь самый важный момент, нажимаем на кнопку, как показано на рисунке:

В появившемся окне слева щелкните по имени нашего проекта (чтобы не делать это отдельно для режима Debug и Release), затем на вкладке Search directories, затем на вкладке Compiler:

Нажмите Добавить и введите путь* к папке include в папке библиотеки, в моем случае это будет:
C:\Users\User\Desktop\Biblioteka\include.

Если это уже сделано, переходим к связыванию.

Ссылка

С открытым окном (Project -> build options) мы возвращаемся на вкладку Search directories, но на этот раз открываем вкладку Linker.

Снова нажмите кнопку Add и введите путь* к папке lib в папке библиотеки, в моем случае он выглядит следующим образом: Библиотека C:\Users\User\Desktop\Biblioteka\lib.

Если у нас это есть, мы открываем вкладку настроек Linker, и там есть еще одна кнопка Add. Файл, который мы хотим добавить, имеет расширение *.a или *.lib. Мы можем добавить такой файл, набрав его путь*, или просто набрав его имя, например, “library”. (библиотека.а).

– путь не нужно вводить вручную, просто нажмите кнопку “…” и откроется другое окно с выбором файла(ов).

*.dll файлы

Последний шаг – загрузка файлов *.dll. Если при запуске приложения вы получите аналогичное сообщение:

Это означает, что вы не добавили указанный файл *.dll. Для этого просто найдите указанный файл (в моем случае “allegro_font-5.1.dll”). Обычно он находится в папке: Library, а затем поместите его рядом с нашим приложением *.exe (в той же папке).

Завершение

Если вы сделали все так, как я описал в этой короткой статье, ваш проект должен компилироваться правильно, без ошибок типа:

main.cpp|2|error: biblioteka.h: No such file or directory
Code language: HTTP (http)
main.cpp|10|undefined reference to `function'
Code language: JavaScript (javascript)

Однако, если ни один из них не отображается, очевидно, что имя заголовочного файла не существует, или вы не добавили все необходимые файлы в компоновщик.

Code Blocks и библиотеки

Компилю бинарник под arm на кросскомпиляторе, Code Blocks не видит библиотеки, хотя под х86 компилится нормально. Все библиотеки связаны с графикой. Например просит -lgtk-x11-2.0, libgtk установлен библиотека находится в /usr/lib/i386. / Что и где прописать?

nagllort
10.07.12 22:51:23 MSK

Компилю бинарник под arm
библиотека находится в /usr/lib/i386

anonymous
( 10.07.12 22:57:39 MSK )

в путях библиотек под арм, в папке кросс-компилятора скорее всего

anonymous
( 10.07.12 23:17:03 MSK )
Ответ на: комментарий от anonymous 10.07.12 23:17:03 MSK

в путях библиотек под арм, в папке кросс-компилятора скорее всего

Ты ошиблось сайтом: папки — в виндах

anonymous
( 11.07.12 00:29:01 MSK )
Ответ на: комментарий от anonymous 11.07.12 00:29:01 MSK

молодец, отбрил. с такими бравыми парнями лет через 20 линукс выйдет из стадии пре-альфа. на пару месяцев

anonymous
( 11.07.12 00:50:57 MSK )
Ответ на: комментарий от anonymous 11.07.12 00:50:57 MSK

лет через 20 линукс выйдет из стадии пре-альфа

anonymous
( 11.07.12 01:00:57 MSK )
Ответ на: комментарий от anonymous 11.07.12 00:50:57 MSK

молодец, отбрил. с такими бравыми парнями лет через 20 линукс выйдет из стадии пре-альфа. на пару месяцев

Как связаны стадии (что за стадии, кстати?) и ваши папки-мамки?

andreyu ★★★★★
( 11.07.12 02:47:08 MSK )
Ответ на: комментарий от anonymous 10.07.12 22:57:39 MSK

Ок. Где взять либы под arm?

nagllort
( 11.07.12 06:20:57 MSK ) автор топика

С CodeBlocks плотно не работал, но на основе опыта работы с другими юниксвей IDE, могу утверждать что:
1. Утверждение о том что именно CodeBlocks не видит библиотеки — неверное. Так как традиционно такие ИДЕ передают всю заботу о библиотеках и путях компилятору.
2. Соответсвенно библиотеку не видит компилятор.

Так что ищи проблему от компилятора. Вручную проверь какие библиотеки требуются в строке линковки. Вручную проверь, есть ли ИМЕННО ЭТИ БИБЛИОТЕКИ, которые требует кросс-компилятор.

dmitryalexeeff
( 11.07.12 07:22:32 MSK )

Компилю бинарник под arm на кросскомпиляторе
.
Например просит -lgtk-x11-2.0, libgtk установлен библиотека находится в /usr/lib/i386. /

При кросс-компиляции необходимо использовать соответствующие библиотеки, собранные под целевую платформу. Укажите директорию где располагаются необходимые библиотеки использую -L, например -L/home/user/arm/libs, если используется Makefile, при генерации Makefile средствами IDE необходимо прописать путь до библиотек в IDE.

imb ★★
( 11.07.12 09:07:30 MSK )
Ответ на: комментарий от anonymous 11.07.12 01:00:57 MSK

Измельчал совсем anonymous, оригинальнее «сам дурак» в голову не идет, скоро «а ты купи слона» в ход пойдет.

anonymous
( 11.07.12 10:41:39 MSK )
Ответ на: комментарий от andreyu 11.07.12 02:47:08 MSK

У меня у Вам две новости, одна плохая , другая хорошая 1. Измена проникла в сердце линукса — в фунаре, наутилусе и писимэне есть пункт в меню «Создать Папку», присоединяйтесь к мейнстриму, завязываете с каталогами,директориями и прочими фолдерами. 2. Викпедия.ру работает, что не может не радовать внезапно растерявшихся эрудитов

Установка библиотеки GTK+ в среде Code::Blocks под Windows

Скачайте и установите Code::Blocks. Для установки удобно выбрать пакет с уже интегрированным компилятором MinGW (но не обязательно, MinGW можно установить отдельно). Скачайте библиотеку GTK+. Поскольку структура каталогов библиотеки совпадает со структурой MinGW, имеет смысл их объединить, т.е. произвести разархивирование в тот же каталог, куда установлен MinGW.

Для того чтобы Code::Blocks подхватил компилятор GCC из пакета MinGW достаточно прописать в системной переменной окружения PATH дополнительные пути.

Например, если MinGW установлен в корень диска C:, то пути следующие

C:\minGW\ C:\minGW\bin\ C:\MinGW\MSYS\1.0\bin

в переменной PATH их необходимо дописать в конец существующей записи через символ «;», т.е. вот так:

существующее_значение;C:\minGW\;C:\minGW\bin\;C:\MinGW\MSYS\1.0\bin;

Изменить значение переменной PATH можно через панель управления Windows:

Панель управления -> Система -> Дополнительные параметры среды -> Дополнительно -> Переменные среды -> Системные переменные PATH -> Значение переменной

Поскольку библиотека GTK+ была разархивирована в папку MinGW, этих записей будет достаточно, в противном случае, необходимо добавить в PATH пути к библиотеке GTK+.

Следующим шагом настраиваем среду Code::Blocks на корректную работу с библиотекой GTK+.
В меню Settings -> Compiler
в диалоговом окне выбираем вкладку Compiler Settings -> Other Options
и вписываем команду

`pkg-config --cflags gtk+-3.0`

Затем в этом же диалоговом окне переходим на вкладку Linker Settings -> Other linker options:
и вписываем команду

`pkg-config --libs gtk+-3.0`

Нажимаем кнопку «OK». Настройка завершена. Можно создать первый свой проект на С с использованием библиотеки GTK+.

Выберите File -> New -> Projects -> Console Application

Пройдите все шаги мастера, правильно выбирая и вписывая значения. В готовом файле main.c напишите следующую программу:

#include // подключаем GTK+ /* с этой функции стартует программа */ int main( int argc, char *argv[]) { /* запускаем GTK+ */ gtk_init(&argc, &argv); /* создать новый виджет - окно */ GtkWidget *window; window = gtk_window_new(GTK_WINDOW_TOPLEVEL); /* дать окну заголовок */ gtk_window_set_title(GTK_WINDOW(window), "Example"); /* когда пользователь закроет окно, то выйти из приложения */ g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); /* отобразить окно */ gtk_widget_show(window); /* передаём управление GTK+ */ gtk_main(); return 0; } 

Откомпилируйте и запустите.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *