Настройка 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 минут
Создаю обычный консольный проект на языке Си в 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 :
Читайте также: