![]() |
|
![]() ![]() ![]() |
|
юзерпиг |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 29.8.2009 Репутация: нет Всего: нет |
Помогите новичку)
Проект в eclipse + MinGW, понадобилось сделать простой GUI. Поставил GTK, сгенерил с помощью pkg-config флаги. Скопировал пример типа Hello world. Вот что получается:
В C:/GTK/lib лежат все нужные либы. Что я не понимаю? ![]() |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
Ошибка линковки. Посмотри что с библиотеками.
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
юзерпиг |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 29.8.2009 Репутация: нет Всего: нет |
В C:/GTK/lib лежат такого вида пары библиотек:
gtk-win32-2.0.lib libgtk-win32-2.0.dll.a pkg-config генерит ключи вида -lgtk-win32-2.0 Это правильно? Мне казалось что -lgtk-win32-2.0 должен линковать libgtk-win32-2.0.a, но с такими именами библиотек нет. |
|||
|
||||
shutffl |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 18.8.2008 Репутация: нет Всего: 3 |
Правильно, так как в зависимости от системы (*NIX / Windows) подставится нужное расширение..
--------------------
shadowmoon |
|||
|
||||
юзерпиг |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 29.8.2009 Репутация: нет Всего: нет |
Тогда собсно вопрос остается.. Библиотеки на месте.. Что ж он не линкует их?
|
|||
|
||||
shutffl |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 171 Регистрация: 18.8.2008 Репутация: нет Всего: 3 |
Когда я в свое время возился с GTK, то надо было в переменну среды PATH дописать расположение. --------------------
shadowmoon |
|||
|
||||
юзерпиг |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 29.8.2009 Репутация: нет Всего: нет |
Не, это ничего не дает((
Пути все вроде прописаны где надо.... Тем более не вручную, а pkg-config сгенерил, т.е. должно быть правильно. Пробовал вручную то же прописать.. |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
юзерпиг |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 29.8.2009 Репутация: нет Всего: нет |
Решение проблемы с линковкой нашлось, ключи -l<название либы> надо писать обязательно после *.o, а не до, этот порядок вызова описан в документации. (Вот ведь знал же про это, а тут забыл =))
Теперь все линкуется, но при запуске вылетает ошибка: Точка входа в процедуру g_access не найдена в библиотеке DLL libglib-2.0-0.dll Библиотека на месте, в PATH путь прописан... Копирование этой DLL в папку с файлом ничего не меняет... В чем тут дело может быть? |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
Возможно длл-ка собрана другим компилятором. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
юзерпиг |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 29.8.2009 Репутация: нет Всего: нет |
то есть другой версией GCC?
как с этим бороться? |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
Нет. Библиотека может быть собрана в msvc а длл-ка в мингве, или на оборот. Еще вариант, библиотека release а длл-ка debug, или на оборот. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
юзерпиг |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 29.8.2009 Репутация: нет Всего: нет |
так это библиотека с GTK поставляется.. они рекомендуют mingw.. я им и компилю... не хотелось бы перебирать компиляторы( |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 11 Всего: 33 |
юзерпиг,
-------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 16 Всего: 92 |
Ммм.. Не в компиляторе даже дело - дело в используемом файле для линковки и самой длл-ки. Т. к. в литнкуемом файле "вшиваются" стабы для джампа на длл-ные функции.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |