crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в GUI внутри динамической библиотеки
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
kwisp Дата 17.5.2009, 17:52
  эт наверное я не понимаю.

я думал надо запускать программу с определенным PATH - это решается с помощью батника. точно так же можно имея на машине несколько вариантов(версий) библиотеки Qt и несколько компиляторов запуская определенный батник собирать проекты различными компиляторами и используя различные библиотеки... не коверкая системный PATH каждый раз.:)
Цитата(Гость_hmmm_* @ 17.5.2009, 15:57) *
ведь надо как-то отлаживать программу и при этом не кидать каждый раз dll-ки в debug..

и не будешь кидать их в дебуг, пропишешь путь к ним в PATH в батнике и должно заработать.

впрочем если я что то перепутал то простите. завтра с работы могу кинуть свои батники если надо.
hmmm Дата 17.5.2009, 14:57
  Этот вариант будет пригоден скорее уже для реализованного приложения нежели для процесса разработки.. ведь надо как-то отлаживать программу и при этом не кидать каждый раз dll-ки в debug.. самое печальное в некоторых книгах например Хортона по програмиированию в VSC++ 2008 указана такая проблема и они как раз и переносят файлик тупо в debug. Странное на мой взгляд решение.. Наверное буду решать этот вопрос динамическим подключением...

Кстати возможно я иду несколько не тем путём.. потому что мне в идеале нужна не столько прям сама dll сколько возможность собрать модуль который можно безболезненно подключать к различным проектам + возможность его отлаживать и проч.. тоесть фактически просто некоторый набор cpp и h, ui файлов которые можно подключать к разным проектам. Насколько я понял это решается именно через выделение их в отдельную библиотеку (а в рамках студии помещение их в отдельный проект) и компиляции как библиотеки в моём случае dll.

Возможно я что-то путаю или не понимаю, но перелопатил много материалла и на prog.org.ru и здесь и в документации и другое пути пока не нашёл. =((
kwisp Дата 17.5.2009, 13:51
 
Цитата(Гость_hmmm_* @ 17.5.2009, 13:25) *
з.ы. только если конечно мы можем указать path не глобально а исключительно для программы. Не совсем правда соображу как это сделать.

в винде можно в батнике прописать свой PATH(с помощью set) и потом запустить программу
PATH прописанная таким образом будет действительна только для сеанса батника и не будетп ортить глобальную PATH для всех прог и винды.

естественно прогу запускать через батник

что-то типа
=======файл toStart.cmd=====
@set PATH=пишем что надо для запуска проги
имя запускаемой программы
=======================

теперь прога запустится в нужном окружении
Litkevich Yuriy Дата 17.5.2009, 12:35
 
Цитата(Гость_hmmm_* @ 17.5.2009, 16:23) *
я думал проблема может быть решена каким либо шаманством с настройками проекта solutinа
ну в ней я думаю можно так сделать, но я студией не пользуюсь
hmmm Дата 17.5.2009, 12:25
  з.ы. только если конечно мы можем указать path не глобально а исключительно для программы. Не совсем правда соображу как это сделать.
hmmm Дата 17.5.2009, 12:23
 
Цитата(Litkevich Yuriy @ 17.5.2009, 2:15) *
Укажи в переменной среды PATH, путь к своей библиотеке. Виндовоз, не найдя в каталоге с exe'шником нужной dll'ки, полезит просматривать пути указанные в переменной PATH.

Жаль(( я думал проблема может быть решена каким либо шаманством с настройками проекта solutinа.. или ещё как. Для каждой своей либы такое делать не удобно, да и разрабатываю не один, поэтому надо и остальным прописывать.. вероятно придётся делать не статическую линковку а через QLibrary или QPluginLoader, что не оч удобно так как довольно много классов от туда хватать буду в разных местах программы, получается придётся делать синглтон для загрузки самой либы, чтобы не указывать в каждом месте её загрузку.. =(
Litkevich Yuriy Дата 17.5.2009, 2:15
  Укажи в переменной среды PATH, путь к своей библиотеке. Виндовоз, не найдя в каталоге с exe'шником нужной dll'ки, полезит просматривать пути указанные в переменной PATH.
hmmm Дата 17.5.2009, 0:59
  Вопрос совсем не в тему но пробовал на примерах из этой темы поэтому вопрос именно сюда.
Открыл тестовый проект в VS. Тоесть два проекта - один либа другой main. Собираб либу как dll и линкую к главному проекту. Прописываю в свойствах главное проекта связь с lib файлу из либы и пишу простенький header для использования функции из библиотеки. Когда запускаю на выполнение не может найти dll. Кидаю dll в папку debug c главным проектом - всё работает отлично. Скажите а как-нибудь можно реализовывать разработку чтобы не надо было постоянно кидать длл-ку ??Наверняка ведь как-то можно это подругому делать?? Просто в другом своём приложении хочу вынести ряд классов и функций в либу и не хотелось бы всё время переносить длл-ку.. глупо оно как-то=(((
ViGOur Дата 31.3.2008, 19:27
 
Цитата(ViGOur @ 31.3.2008, 16:13) *
Библиотека должна быть статической, если заметил там я создал еще def файл в папке проекта библиотеки и в pro файле указал его.
Извини, ошибся, библиотека должна быть динамической.

Думал о статической библиотеке, нужно было написать слово динамическая, а написал статическая. :)
silart Дата 31.3.2008, 15:48
 
Цитата(ViGOur @ 31.3.2008, 20:13) *
Да вроде не должно быть зависимости статическая или динамическая сборка.
Ведь может понадобиться как та так и другая сборка одновременно в проекте.

Последний архив, я компилил так:
qmake
nmake
без qmake -project, чтобы не портить pro файл.
Разумеется как для exe так и для dll.

Библиотека должна быть статической, если заметил там я создал еще def файл в папке проекта библиотеки и в pro файле указал его.


Механизм QLibrary мутный какой-то. lib-файл тоже не хочет загружать...
Вообще это все нужно для плагинов, мне он необязательно нужен. Я могу и статически связать dll с exe.
Но все равно никак не работает.

С QApplication вроде работало, но только немодальный диалог создавало, а модальнывй никак...
В чем же проблема...
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 10:49