Настройка gtk в codeblocks linux

Обновлено: 06.07.2024

Я пытаюсь разработать приложение GTK+ на Ubuntu 11.4, используя Code::Blocks.

Code::Blocks я установил с помощью программного центра Ubuntu.

Используя мастер проекта Code::Blocks для создания проекта GTK+, когда я строю проект, он не компилируется "не может найти gtk/gtk.h".

Очевидно, что папки GTK include (и lib) не добавляются в папки поиска Code::Blocks. Я нашел соответствующие пути и файлы.

Должен ли я явно & вручную добавлять все пути поиска в Code::Blocks ' пути поиска? Или я пропустил какой-то шаг установки.

1 ответ

Как добавить библиотеку boost в проект Code::Blocks в Linux Ubuntu? Например, я хочу добавить regex lib. Я уже установил библиотеку boost с помощью: sudo apt-get install libboost-all-dev Наиболее ценным будет полный пример how to .

Я написал небольшую программу точно так же , как hello the world , все было OK, когда я запускал ее в Code::Blocks IDE. Но я не мог запустить файл, созданный вне Code::Blocks. В нем Properties я нашел его тип executable(application/x-executable) . И еще один вопрос, который у меня есть, почему.

Предполагая, что вы нашли и установили правильный пакет. По состоянию на 2011 год текущий пакет был libgtk-3-dev , затем инструмент pkg-config можно использовать для извлечения флагов компоновщика и компилятора - и при правильном экранировании в настройках Code:Blocks можно автоматически вводить правильные настройки.

Откройте Code::Blocks Настройки > Настройки компилятора и компоновщика. и добавьте следующие параметры в разделе Глобальные параметры компилятора > Параметры компилятора > Другие параметры

и добавьте это в Глобальные настройки компилятора > Настройки компоновщика > Другие параметры

С помощью ` это приводит к запуску инструмента pkg-config, вызывающего --cflags gtk+-3.0 (или --libs), который, предполагая, что libgtk3-dev установлен, вводит необходимые папки поиска и директивы lib в командную строку gcc.

Вычеркни это. Анджута быстро теряет свой блеск.

Похожие вопросы:

Я только что начал программировать C++, сначала в ms Visual c++, затем в Code::Blocks. Проблема в том, что на моем компьютере запущенные Ubuntu, Code::Blocks out of the box не отлаживаются, даже.

После установки Code::Blocks IDE на мой рабочий стол Ubuntu 14.04 я создал новый проект C++ с шаблоном GTK для игры в нем (GNU C++). Но если попытаться построить его, я получу ошибку.

Я хотел бы знать, как настроить freeglut для работы с компиляторами Code::Blocks IDE и minGW. У меня нет большого опыта работы с Code::Blocks, и я уже давно пробовал как glut, так и freeglut. Любая.

Как добавить библиотеку boost в проект Code::Blocks в Linux Ubuntu? Например, я хочу добавить regex lib. Я уже установил библиотеку boost с помощью: sudo apt-get install libboost-all-dev Наиболее.

Я написал небольшую программу точно так же , как hello the world , все было OK, когда я запускал ее в Code::Blocks IDE. Но я не мог запустить файл, созданный вне Code::Blocks. В нем Properties я.

У меня есть код из учебника GTK в base.c . Я работаю над Ubuntu и когда я компилирую с помощью $ gcc base.c -o base `pkg-config --cflags --libs gtk+-2.0` Я получаю следующую ошибку Package gtk+-2.0.

Я использую Code::Blocks с тех пор, как начал программировать в C, перепробовав все существующие компиляторы C под windows, я нашел Code::Blocks самым простым для работы, потому что мне не пришлось.

Я следую этому учебнику о том, как настроить проект GTK+ на Code::Blocks 16.01. Ссылка на Шаге 1 для загрузки GTK+ не работает, поэтому я вместо этого сделал Open in Desktop из репозитория Gtk.

Оригинальный Вопрос У меня возникли проблемы с установкой gtk, чтобы начать строить GUIs в C++ на Code::Blocks. Может ли кто-нибудь подтолкнуть меня в правильном направлении? Я запускаю Windows 10.

Я новичок в программировании C в Linux. Мне нравится делать GUIs с GTKlibs. Единственная проблема заключается в том, что я не могу - и не только с gtk - правильно установить эти пакеты. У меня есть.

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

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



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

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


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


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


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


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

  • Хорошо видно структуру программы.
  • Легко искать парную фигурную скобку.
  • Легко комментировать и убирать комментарии

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

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

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


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


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


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

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

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


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

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

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


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

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

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



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





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

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

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

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

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

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

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

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

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

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

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

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

GtkWidget *textview1;
GtkTextBuffer *buffer1;

int ShowError()
GtkWidget *dialog;

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

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

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

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(“Строка состояния”));

buffer1 = gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview1));
gtk_text_buffer_set_text (buffer1, _U (“Пример текста.”), -1);

// Поменяли цвет текста
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;
>
>

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

Cannot find -ldwmapi GTK+ codeblocks
После установки gtk+ на код блокс в процессе компиляции выдает такую ошибку. ||=== Build: Release.


Использование gtk и подключение фреймворков в C в общем
начать ковырять си с блокнота и mingw. написал пару сортировок и калькулятор. захотелось сделать.

подключение sdl в codeblocks
Добрый день,не удается подключить SDL к codeblocks ос windows 7 что делаю.

Чета ссылка не работает. Возможно прокси перекрывает на работе. У тебя CodeBlocks под какой ОС?

Добавлено через 16 минут
Какая версия коде CodeBlocks ну типа Nightly или 12.11 ? А, какой компилятор используешь?

chedman, видео открывается.
Если желаете помочь автору темы, то могу порекомендовать найти сайты анонимайзеры с помощью google - их немало. Возможно, анонимайзер поможет Вам обойти ограничение.

chedman, Code Blocks 12.11 под Win 7 ultimate x64. В видео как раз автор показывает какие файлы нужно прописать в CodeBlocks, что бы он знал где их подхватывать. У меня новая версия GTK и там немного изменена структура папок, и некоторых файлов походу или вообще нет или в других папках. Раньше с GTK не имел дела, вот решил открыть для себя новые горизонты.

Добавлено через 7 часов 25 минут

в результате в tmp.txt запишутся опции для компилятора и линковщика.
Создаю обычный консольный проект на языке Си в CodeBlocks, текст программы заменяю, к примеру на это:

В Properties. проекта выставляю тип Type: GUI Applications
В Build options. -> Compiler settings -> Other options из файла tmp.txt копирую фрагмент текста от начала до первого "-L"
В Build options. -> Linker settings -> Other linker options из файла tmp.txt копирую фрагмент текста от первого "-L" (включая) до конца
"OK"
Собираю проект, запускаю, облом, но exe , то создан, копирую его в папку gtk+-bundle_3.6.4-20130921_win32/bin, запускаю, работает.

В общем ни кашерный способ, но . , уже зацепка есть.

Если из gtk+-bundle_3.6.4-20130921_win32/bin взять к примеру gtk3-demo-application.exe и перетащить в другую папку и запустить, то появляется та же ошибка, что и в моём примере

В общем в результате небольшой проверки выяснилось, что если в папку с exe, ну к примеру Release твоего проекта, скопировать вот эти dll, то работает и описанная выше ошибка не появляется.

libatk-1.0-0.dll
libcairo-2.dll
libcairo-gobject-2.dll
libffi-6.dll
libgdk-3-0.dll
libgdk_pixbuf-2.0-0.dll
libgio-2.0-0.dll
libglib-2.0-0.dll
libgobject-2.0-0.dll
libgtk-3-0.dll
libpango-1.0-0.dll
libpixman-1-0.dll
libpng15-15.dll
zlib1.dll

Хотя я думаю, что у меня просто в переменной PATH слишком много чего прописано, поэтому и не работает, но проверять не охота.

Добавлено через 23 минуты
Можно конечно, чтоб не делать некоторые лишние телодвижения сохранить этот проект как шаблон в меню есть "Save project as template. " и уже потом его использовать. А, насчет dll, копировать их в System32 или что там есть в Win 7 ultimate x64.


Преобразовать объект gtk.Image или gtk.gdb.Pixbuf в PIL.Image
Делаем скриншот, дальше требуется его обрезать/перерисовать/еще что нибудь, в gtk.image таких.

На этом уроке мы рассмотрим установку и настройку Code::Blocks в Linux для работы с OpenGL, а также запустим проект, рассмотренный на предыдущем уроке.

Подготовительные шаги

Установка будет происходить на чистой системе debian-10.3.0-amd64 XFCE под VMware. Я не буду описывать сам процесс установки ОС, ограничусь лишь скриншотом итоговой конфигурации системы:


Также для данного проекта я в домашней папке своего пользователя создал каталог OpenGL_Project , полный путь к которому выглядит как /home/diego/OpenGL_Project/ , где diego — это имя моего пользователя в системе. У вас оно наверняка будет другим. Учитывайте это!

На всякий случай избегайте кириллицы в путях и именах файлов.

Еще один момент: для установки новых пакетов в Linux я привык пользоваться программой aptitude , а не стандартной apt-get . Поэтому вы можете поступить следующим образом:

Вариант №1: Установить aptitude , для этого в терминале выполните команду sudo apt-get install aptitude .

Вариант №2: Можете пользоваться стандартной программой apt-get . Но учтите, что если по ходу данного туториала встречается установка пакета командой вроде sudo aptitude install НАЗВАНИЕ_ПАКЕТА , то в вашем варианте команда установки пакета должна выглядеть как sudo apt-get install НАЗВАНИЕ_ПАКЕТА .

Установка GLFW в Linux


Распаковываем скачанный архив в папку /home/diego/OpenGL_Project/ , я пользуюсь архиватором Xarchiver:


Указываем необходимую нам папку:


Видим получившуюся распакованную папку glfw-3.3.2 :



Установка CMake в Linux

Теперь необходимо поставить систему сборки проектов CMake. Для этого в окне терминала выполните следующую команду:

sudo aptitude install cmake-gui



Указываем папку с исходниками GLFW и вторую папку, где должен будет появиться результат работы CMake (у себя для этого я создал папку build ), и нажимаем кнопку "Configure" :


В появившемся окне выбираем пункт "CodeBlocks – Unix Makefiles" и нажимаем кнопку "Finish" :


В результате видим… кучу ошибок (добро пожаловать в мир Linux):

Нажимаем "ОК" , снова возвращаемся в терминал и устанавливаем пакет xorg-dev :

sudo aptitude install xorg-dev


Возвращаемся в CMake и выставляем галочки так, как показано ниже:



В результате, в папке build у нас должен появиться файл проекта GLFW.cbp :



Установка Code::Blocks в Linux

Пришло время установить среду программирования Code::Blocks. Для этого возвращаемся в терминал и вводим следующую команду:

sudo aptitude install codeblocks


После установки иконка файла проекта поменяет свой внешний вид:


Открываем данный файл, в результате чего будет запущен Code::Blocks, и появится окно с выбором компиляторов. В системе должен присутствовать как минимум один компилятор — GNU GCC Compiler . Жмем "ОК" :


Открывается окно проекта, нажимаем на шестеренку и компилируем его:


После этого в папке build/src должен появиться скомпилированный файл библиотеки libglfw3.a :



Установка GLAD в Linux

Заходим на оф. сайт GLAD и указываем следующие настройки, после чего нажимаем кнопку "Generate" :


В результате нам будет предложено скачать архив glad.zip:


Далее, чтобы внести немного порядка и организованности в наш будущий проект, поместите папки include и src , содержащиеся в данном архиве, в папку /home/diego/OpenGL_Project/ .

Затем скопируйте папку /home/diego/OpenGL_Project/glfw-3.3.2/include/GLFW в папку /home/diego/OpenGL_Project/include/ .

Также создайте папку lib в /home/diego/OpenGL_Project/ и скопируйте в нее файл скомпилированной библиотеки libglfw3.a .

В итоге у вас должна получиться примерно следующая картина иерархии папок и файлов:



Создание проекта в Code::Blocks

Запускаем Code::Blocks и создаем новый пустой проект: "File" > "New" > "Project…" , выбираем "Empty Project" и нажимаем кнопку "Go" :


Затем нажимаем кнопку "Next" :


Задаем имя проекту. Я назвал его CodeBlocks и выбрал папку /home/diego/OpenGL_Project/ :


В следующем окне должны быть следующие настройки:


Теперь скопируйте файл glad.c из папки /home/diego/OpenGL_Project/src/ в папку с проектом /home/diego/OpenGL_Project/CodeBlocks/ .

Также создайте файл main.cpp в папке /home/diego/OpenGL_Project/CodeBlocks/ .

Затем эти два файла нужно будет добавить в наш проект. Для этого вернемся обратно в Code::Blocks, нажмем правой кнопкой мыши на название нашего проекта и выберем пункт "Add files…" :


Добавляем в проект файлы glad.c и main.cpp :


Настало время подключить необходимые папки с заголовочными файлами и библиотеки, а также настроить компилятор и линкер. Для этого в Code::Blocks переходим в "Project" > "Build options…" :


Переходим на вкладку "Linker settings" и настраиваем её следующим образом:


Примечание: В правом окошке "Other linker options" необходимо указать следующие параметры:

-lglfw3 -ldl -lX11 -lpthread -lm -lXrandr -lXi

Затем добавим дополнительные пути для поиска заголовочных и библиотечных файлов. Для этого переходим в "Search directories" > "Compiler" :


Затем подобные действия проделываем и для вкладки "Linker" , указывая путь к папке lib :

Читайте также: