![]() |
Модераторы: volvo877, Snowy, MetalFan |
![]() ![]() ![]() |
|
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Обычно при запуске приложения на Kylix без самого Kylix выскакивают различные трудно понятные ошибки. Они связаны с тем что приложение не может найти нужные ему библиотеки.
В простейшем случае достаточно предпринять следующие шаги: 1) создать папку /usr/lib/borland 2) В эту папку скопировать файл libborqt-6.9.0-qt2.3.so с машины где установлен Kylix 3) Создать символьный линк libborqt-6.9-qt2.3.so на этот файл (команда linux ln -s ) 4) Отредактирвоать файл в папке /home/[ваш логин] по имени .bash_profile (внимение файл скрытый!) PATH=$PATH:$HOME/bin:. export LD_LIBRARY_PATH=/usr/lib/borland export PATH 5) Убедиться что у пользователя под которым вы собираетесь работать есть права на чтение и запуск libborqt-6.9.0-qt2.3.so и libborqt-6.9-qt2.3.so 5) Перезагрузить компьютер (не под root!) -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Гость_aleko_s |
|
|||
Unregistered |
А то делать в случае с консольным приложением. Зачем консольнуму приложению библиотека QT?
У меня консольное приложение с DataModule с доступом к MySQL. В файле программы штук 20 ссылок на .so-файлы, из которых штук 7 лежат в директориях Kylix (в т.ч. libborqt*). Неужели все эти so нужны консольнуму приложению? |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
DataModule - это часть CLX и скорее всего повязана на QT, хотя я могу ошибаться... Чистое консольное приложение у меня работает без QT... Посмотрите что у Вас в Uses стоит - может затесалось чего не нужное
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Гость_aleko_s |
|
|||
Unregistered |
Спасибо. Обязательно посмотрю. Программка, если она запущена из под консоли, ругается на InitPAnsiString, по-моему. Год назад под вторым киликсом консольное приложение с DataModule'м тоже не хотело работать. Там всё вылечилось в 2 приёма:
1) Замена dm:=Tdm.Create(Application) на dm:=Tdm.Create(nil) (если я писал Application, то компиллер, естественно, требовал включить в uses, тот модуль, где этот класc определён, где и вылезал на свет Божий QT) 2) копированием библиотек для MySQL в каталог с программой(если я чегой-то не забыл). Или я наврал всё... Не помню... Может я делал в рантайме что-то, типа SQLConnection := TSQLConnection.Create и обошёлся без DataModule Ну не нужны же все эти КьюТи консольному приложению !!! В любом случае, хотелось бы определиться с вопросом запуска приложений, написанных на Kylix, без самого Kylix и с МИНИМАЛЬНЫМ набором библиотек. С целью избежать сюрпризов в дальнейшем. |
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
Может быть эффект, того что где то есть чего-нибудь очень обычное, типа: Showmessage() Application.Processmessages; и т.п. -------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
aleko_s |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 24.10.2003 Где: Салоники, Греция Репутация: нет Всего: нет |
Объект Application вообще не использую в программе (иначе бы пришлось в uses указать модуль, где он описан :-) ) Функции, типа ShowMessage - тоже. Используется writeln(qryTraLaLaF_FIELD.AsString). Сама writeln не виновата. Когда пишу простенькое Hello,world - консольное приложение, никакие КьюТи и ЛибСиКуЭлМай - не нужны.... Попробую еще обойтись без модуля данных...
А моему приложению оказались нужны библиотеи libborqt..... и libsqlmy.so... и достаточно было, чтобы LD_LIBRARY_PATH указывал туда, где они лежат.... Всё равно не верю, что так и должно быть с КьюТи (как Константин Сергеич, прям) |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: нет Всего: 329 |
А если писать CLX на Delphi7, обязательно ли выполнять это
|
|||
|
||||
Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: нет Всего: 207 |
тогда обязательно присутствие dll: borqt.dll или как-то там похоже...
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
Mu57Di3 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 20.11.2005 Где: Калуга Репутация: нет Всего: нет |
Нужна qtintf70.dll в папку с прогой достаточно кинуть. Это как я понял Борландовская реализация qt под винду. Или интерфейс трансляции QT API в WinAPI/
|
|||
|
||||
Darkmaster |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 148 Регистрация: 22.11.2005 Репутация: нет Всего: нет |
Вопрос: а если собираетесь распространять по написанное на kylix. как сделать чтобы оно работало без этих манипуляций? --------------------
GeekTV - интернет-телевидение для гиков |
|||
|
||||
w2w |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 11.9.2008 Репутация: нет Всего: 1 |
Это известная ошибка, которая появилась в Kylix3. До этого выдавалось более осмысленное сообщение.
Смысл в следующем. Предпринимается попытка вызвать Qt-шный метод (уже при инициализации программы). Производится поиск библиотеки, сначала ищется новая версия, это libborqt* если эта библиотека не лежит в путях для поиска, то предприниматеся попытка найти старую версию библиотеки (поставлялась с Кулих1 и 2 версий) libqt*. Тут, понятное дело. Что-то находится ![]() Приведенные способы лечения помогут. Но я поступаю проще. Копирую либу libborqt-6.9.0-qt2.3.so в каталог /usr/lib и делаю на нее симлинк ln -s libborqt-6.9-qt2.3.so и все после этого начинает работать. Причем, нет нужды запускать файлы через скрипт с изменением путей поиска либов. Идем дальше. Естественно, для демона или неоконной программы, которые в Кулих писать можно без проблем, не нужна библиотека libborqt*. Но ДатаМодуль по умолчанию включает в заголовок файла модуль QTypes. Его нужно просто удалить из Uses. Он не нужен там совсем. Кстати, любые модули начинающиеся с Q это файлы, которые приведут к вызову этой злополучной ![]() Кроме того, хочется обратить внимание на слеующее - для написания и успешного запуска проектов, которые используют "продвинутые" технологии потребуются дополнительные библиотеки. Если при запуске из консоли программы идут ошибки, а при работе в среде разработки все ОК - это верный признак отсутствия либы. Пример - TXmlDocument - по умолчанию использует Xerses парсер - требуются дополнительные библиотеки. Без либов юзается OpenDOM. Компоненты Corba и Midas требуют дополнительных либов ну и т.д. Удачи ![]() Это сообщение отредактировал(а) w2w - 11.9.2008, 11:29 |
|||
|
||||
w2w |
|
|||
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 11.9.2008 Репутация: нет Всего: 1 |
Без этих манипуляций оно не работает ![]() Для того, чтобы распространять, нужно создать установочные файлы (для примера, rpm) и в его состав включить все, что необходимо для работы. А то, что нужно делать руками описать в файле INSTALL или написать preinstall и/или postinstall скрипты для rpm для автоматического выполнения. Часто можно увидеть отдельную поставку - программа и либы. Библиотеки нужно устанавливать один раз. Все программы юзают их сообща. В этом, кстати, преимущество размещения либов в стандартных путях, чтобы не запутаться в конфигах или стартовых скриптах. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi" | |
|
Запрещается! 1. Обсуждать и делится взломанными компонентами или программным обеспечением 2. Публиковать ссылки на варез 3. Оффтопить
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |