![]() |
|
|
![]()
|
|
| CompWorm |
|
||||||||||||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
Доброго времени.
как я понял, QtScript устарел и поддержка его официально кончилась, хоть он и есть в поставке. поэтому и многим другим соображением хочу использовать внешние сценарии Lua для Qt проектов... для этого надо установить поддержку QtLua в репе у них лежит два файла на эту тему один *.tar.gz (в нём файлы для сборки) и один *.tar.gz.sig (назначение которого я не понял... может это типа плагина к какому-нибудь Eclips ?) итак имеем: Ubuntu 10.04 ядро 2.6.32-33 gnome 2.30.2 Qt 4.7.4 для начала я выяснил, что у меня нет самого Lua и заголовочных файлов. я поставил пакеты: lua5.1 liblua5.1-expat-dev liblua5.1-0-dev liblua5.1-0 liblua5.1-gnome-0 и в /usr/include/lua5.1 появились заголовочные файлы директория с Qt от версии к версии непредсказуемо скачет и в 4.7.4 qmake и прочие лежат у меня в ~/QtSDK/Desktop/Qt/473/gcc/bin простой запуск ./configure не видит нужных файлов, потому я сделал так:
как видим из лога, файлы qt и заголовки Lua нашлись, но дальше вылазит
назначение которого мне не ясно. lua_pushnil это вообще луавская функция, которая описана в lua.h.
но конфиг её не видит... пробовал и так
и сяк
и эдак
и всё равно тупняк... подскажите, как установить правильно QtLua пожалуйста. Это сообщение отредактировал(а) CompWorm - 2.7.2011, 17:55 |
||||||||||||
|
|||||||||||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 8 Всего: 160 |
Он не может найти liblua.so. Это типа dll виндовой, нужна линкеру. Эта либа обычно запиливается пакетом liblua_цифры_dev. Обычно в названии и самой либы есть эти цифры. И обычно же, чтобы линкер находил либу без этих циферок, запиливается симлинк liblua.so -> liblua.5.so -> liblua.5.1-0.so. Надо посмотреть, куды сложились эти сошники, есть ли они.
Вот это вариант близок к истине. -------------------- |
|||
|
||||
| CompWorm |
|
||||||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
kemiisto, большое спасибо за наводку. думал никто не ответит
у меня установлена liblua5.1-expat-dev и liblua5.1-0-dev, как я писал выше, лучше я ничего не нашёл в синаптике... в папке /usr/lib/ есть таки ссылка liblua5.1.so,которая ссылается на файл со странным названием liblua5.1.so.0.0.0 там же я добавил, по твоему совету, на него ссылку с именем liblua.so и попробовал вот так:
то есть тупо не стал указывать имя библиотеки и конфигурация прошла на ура! ---------------------------------------- теперь о грустном. при выполнении make опять проблемы
глядя на фразу
я понимаю, что на этом всё... полный абзац и QtLua 1.2 устарел и не может интегрироваться в мою версию Qt 4.7.4 надеюсь, я ошибаюсь и что-то можно сделать, типа перекомпилить этот файл из новой Qt? Это сообщение отредактировал(а) CompWorm - 2.7.2011, 22:20 |
||||||
|
|||||||
| CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
попробовал щас svn скачать
svn co svn://svn.savannah.nongnu.org/libqtlua/trunk/libqtlua собрать не могу нет конфига, в ридми бред какой-то написан. попробовал сделать в autoconf
- не получилось... как его собрать то? Это сообщение отредактировал(а) CompWorm - 2.7.2011, 22:53 |
|||
|
||||
| CompWorm |
|
||||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
что-то сделал, что сам не понял.
итак в папке /home/user/QtSDK/libqtlua-1.2/ у меня обычный установочный набор, в /home/user/QtSDK/libqtlua-1.2/libqtlua/ скаченый svn. в папке /home/user/QtSDK/libqtlua-1.2/ я выполнил
и, о чудо! вроде без ошибок всё собралось! однако, не понятно, что именно и куда так как если сделать проверку
то 3 теста из 4 провалены. открываю qtcreator там ничего нового... ни примеров, ни хелпа |
||||
|
|||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 8 Всего: 160 |
CompWorm, можеть поковыряю завтра. А пока уточним два момента.
Первый.
Откуда дровишки? Это невозможно, если я правильно себе понимаю вектор развития Qt. Второй. Зачем Lua? Я понимаю, что она может нравится синтаксически. Но она настолько менее популярна, чем тот же Python, что игра не стоит свеч. PythonQt... -------------------- |
|||
|
||||
| kemiisto |
|
||||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 8 Всего: 160 |
Я тут случайно SimplyMEPIS в виртуалке нашёл. Это типа Debian stable + пара своих репов. Qt 4.7.1 и liblua5 поставил из репов.
Релиз этой твоей либы устарел, как ты утверждаешь, так что я сразу пошёл в svn
Они перешли на CMake. Не беда:
У меня всё собралось без запинок. Это сообщение отредактировал(а) kemiisto - 3.7.2011, 02:20 -------------------- |
||||||
|
|||||||
| CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
да, у меня так же собралось и с той химией, что я написал выше и с cmake. в конце cmake варианта я ставил make install
вопрос - у тебя что-нибудь заработало после этого? я вот пишу в консоль
Добавлено через 8 минут и 47 секунд из лесу вестимо во всяком случае, как мне кажется популярность ECMAScript ещё меньше чем Lua. её я по крайней мере видел в действии и использовал для скриптования уровней в Eufloria и MTA. Python конечно вне конкуренции, но он не такой смешной и как-то приелся |
|||
|
||||
| CompWorm |
|
||||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
make install устанавливает следующим образом
сделал симлинк от /usr/local/lib/libqtlua.so в /usr/lib/libqtlua.so ошибка изменилась на
не знаю к чему бы это |
||||
|
|||||
| kemiisto |
|
||||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 8 Всего: 160 |
Так, конечно, делать не рекомендуется. Вообще система ищет эти самые *.so в папках, заданных в конфигурационных файлах /etc/ld.so.conf.d/*.conf + в переменной LD_LIBRARY_PATH. Раньше ещё (до 9.10) эту переменную можно было в .profile изменять. [url=https://help.ubuntu.com/community/EnvironmentVariables#File-location related variables]Сейчас уже нет[/url]. Тут неплохо на русском. Варианты:
И, вроде как, он понял мои намерения
но после копирования qtlua в /usr/local/lib
Хм... У меня работает. Запиливаю пруф! CompWorm, это DLL-Hell, если ты ещё не понял. В Linux его никто решать не собирается. You are welcome! Это сообщение отредактировал(а) kemiisto - 3.7.2011, 12:05 -------------------- |
||||||
|
|||||||
| kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 8 Всего: 160 |
Ты всё неправильно понял.
-------------------- |
|||
|
||||
| Severyanin |
|
|||
![]() Исследователь ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 31.7.2007 Где: Россия, Омск Репутация: нет Всего: 9 |
CompWorm, , попробуй еще раз окончательно снести луа и qtlua и переставить. Я думаю, что сейчас у тебя в системе остались ошметки старой либы, поэтому линкер и не может функции из сошек вытянуть)
-------------------- "Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов |
|||
|
||||
| CompWorm |
|
||||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / Репутация: нет Всего: 31 |
сделал немного по-другому, но с тем же положительным эффектом
было что-то типа
в CMakeCache.txt нашёл строку и подписал CMAKE_EXE_LINKER_FLAGS:STRING=-Wl,-R/usr/local/lib пересобрал, получил:
теперь никаких симлинков, линкуется библа сразу. спасибо. по поводу ошибки при запуске скрипта погуглил что такое _ZN9QListData11detach_growEPii это проблема с самим Qt и в этом плане я не одинок. вечерком ещё поковыряюсь |
||||
|
|||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, 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. |