Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа на Kylix не запускается без IDE, Что делать? 
:(
    Опции темы
Vit
  Дата 21.5.2004, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
Гость_aleko_s
Дата 19.11.2004, 08:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А то делать в случае с консольным приложением. Зачем консольнуму приложению библиотека QT?
У меня консольное приложение с DataModule с доступом к MySQL. В файле программы штук 20 ссылок на .so-файлы, из которых штук 7 лежат в директориях Kylix (в т.ч. libborqt*). Неужели все эти so нужны консольнуму приложению?
  Вверх
Vit
Дата 19.11.2004, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
Гость_aleko_s
Дата 20.11.2004, 00:47 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
Дата 20.11.2004, 02:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
aleko_s
Дата 20.11.2004, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 24.10.2003
Где: Салоники, Греция

Репутация: нет
Всего: нет



Объект Application вообще не использую в программе (иначе бы пришлось в uses указать модуль, где он описан :-) ) Функции, типа ShowMessage - тоже. Используется writeln(qryTraLaLaF_FIELD.AsString). Сама writeln не виновата. Когда пишу простенькое Hello,world - консольное приложение, никакие КьюТи и ЛибСиКуЭлМай - не нужны.... Попробую еще обойтись без модуля данных...
А моему приложению оказались нужны библиотеи libborqt..... и libsqlmy.so... и достаточно было, чтобы LD_LIBRARY_PATH указывал туда, где они лежат....

Всё равно не верю, что так и должно быть с КьюТи (как Константин Сергеич, прям)
PM MAIL WWW ICQ   Вверх
Akella
Дата 27.10.2005, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: нет
Всего: 329



А если писать CLX на Delphi7, обязательно ли выполнять это


Цитата(Vit @ 21.5.2004, 15:40)
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 (внимение файл скрытый!)
...


PM MAIL   Вверх
Vit
Дата 28.10.2005, 04:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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
PM MAIL WWW ICQ   Вверх
Mu57Di3
Дата 21.2.2006, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 20.11.2005
Где: Калуга

Репутация: нет
Всего: нет



Нужна qtintf70.dll в папку с прогой достаточно кинуть. Это как я понял Борландовская реализация qt под винду. Или интерфейс трансляции QT API в WinAPI/
PM MAIL ICQ   Вверх
Darkmaster
Дата 13.7.2006, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 148
Регистрация: 22.11.2005

Репутация: нет
Всего: нет



Цитата

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 (внимение файл скрытый!) 
...


Вопрос: а если собираетесь распространять по написанное на kylix. как сделать чтобы оно работало без этих манипуляций? 
--------------------
GeekTV - интернет-телевидение для гиков
PM MAIL   Вверх
w2w
Дата 11.9.2008, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 11.9.2008

Репутация: нет
Всего: 1



Это известная ошибка, которая появилась в Kylix3. До этого выдавалось более осмысленное сообщение.
Смысл в следующем. Предпринимается попытка вызвать Qt-шный метод (уже при инициализации программы). Производится поиск библиотеки, сначала ищется новая версия, это libborqt* если эта библиотека не лежит в путях для поиска, то предприниматеся попытка найти старую версию библиотеки (поставлялась с Кулих1 и 2 версий) libqt*. Тут, понятное дело. Что-то находится smile Но методы стандартной (не Кулиховой) библиотеки хотя и совпадают по имени не могут использоваться в Кулих. Вот и выходит ошибка. Это была рельная проблема в старых Кулих, т.к. либа Кулиха совпадала по имени с библиотекой системы.  Именно поэтому в третьей версии была создана библиотека, которая не может совпасть с системной. 

Приведенные способы лечения помогут. Но я поступаю проще. Копирую  либу  libborqt-6.9.0-qt2.3.so в каталог /usr/lib и делаю на нее симлинк ln -s libborqt-6.9-qt2.3.so и все после этого начинает работать. Причем, нет нужды запускать файлы через скрипт с изменением путей поиска либов.

Идем дальше. Естественно, для демона или неоконной программы, которые в Кулих писать можно без проблем, не нужна библиотека libborqt*. Но ДатаМодуль по умолчанию включает в заголовок файла модуль QTypes. Его нужно просто удалить из Uses. Он не нужен там совсем.

Кстати, любые модули начинающиеся с Q это файлы, которые приведут к вызову этой злополучной smile либы. 

Кроме того, хочется обратить внимание на слеующее - для написания и успешного запуска проектов, которые используют "продвинутые" технологии потребуются дополнительные библиотеки. Если при запуске из консоли программы идут ошибки, а при работе в среде разработки все ОК - это верный признак отсутствия либы. 
Пример - TXmlDocument - по умолчанию использует Xerses парсер - требуются дополнительные библиотеки. Без либов юзается OpenDOM.
Компоненты Corba  и Midas требуют дополнительных либов ну и т.д. 

Удачи smile

Это сообщение отредактировал(а) w2w - 11.9.2008, 11:29
PM MAIL   Вверх
w2w
Дата 11.9.2008, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 11.9.2008

Репутация: нет
Всего: 1



Цитата(Darkmaster @ 13.7.2006,  13:44)
Вопрос: а если собираетесь распространять по написанное на kylix. как сделать чтобы оно работало без этих манипуляций?

Без этих манипуляций оно не работает smile
Для того, чтобы распространять, нужно создать установочные файлы (для примера, rpm) и в его состав включить все, что необходимо для работы. А то, что нужно делать руками описать в файле INSTALL или написать preinstall и/или postinstall скрипты для rpm для автоматического выполнения. 

Часто можно увидеть отдельную поставку - программа и либы. Библиотеки нужно устанавливать один раз. Все программы юзают их сообща. В этом, кстати, преимущество размещения либов в стандартных путях, чтобы не запутаться в конфигах или стартовых скриптах.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1240 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.