crossplatform.ru

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

3 страниц V  < 1 2 3  
Ответить в данную темуНачать новую тему
ViGOur
  опции профиля:
сообщение 31.3.2008, 19:27
Сообщение #21


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(ViGOur @ 31.3.2008, 16:13) *
Библиотека должна быть статической, если заметил там я создал еще def файл в папке проекта библиотеки и в pro файле указал его.
Извини, ошибся, библиотека должна быть динамической.

Думал о статической библиотеке, нужно было написать слово динамическая, а написал статическая. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_hmmm_*
сообщение 17.5.2009, 0:59
Сообщение #22





Гости








    


Вопрос совсем не в тему но пробовал на примерах из этой темы поэтому вопрос именно сюда.
Открыл тестовый проект в VS. Тоесть два проекта - один либа другой main. Собираб либу как dll и линкую к главному проекту. Прописываю в свойствах главное проекта связь с lib файлу из либы и пишу простенький header для использования функции из библиотеки. Когда запускаю на выполнение не может найти dll. Кидаю dll в папку debug c главным проектом - всё работает отлично. Скажите а как-нибудь можно реализовывать разработку чтобы не надо было постоянно кидать длл-ку ??Наверняка ведь как-то можно это подругому делать?? Просто в другом своём приложении хочу вынести ряд классов и функций в либу и не хотелось бы всё время переносить длл-ку.. глупо оно как-то=(((
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 17.5.2009, 2:15
Сообщение #23


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Укажи в переменной среды PATH, путь к своей библиотеке. Виндовоз, не найдя в каталоге с exe'шником нужной dll'ки, полезит просматривать пути указанные в переменной PATH.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_hmmm_*
сообщение 17.5.2009, 12:23
Сообщение #24





Гости








    


Цитата(Litkevich Yuriy @ 17.5.2009, 2:15) *
Укажи в переменной среды PATH, путь к своей библиотеке. Виндовоз, не найдя в каталоге с exe'шником нужной dll'ки, полезит просматривать пути указанные в переменной PATH.

Жаль(( я думал проблема может быть решена каким либо шаманством с настройками проекта solutinа.. или ещё как. Для каждой своей либы такое делать не удобно, да и разрабатываю не один, поэтому надо и остальным прописывать.. вероятно придётся делать не статическую линковку а через QLibrary или QPluginLoader, что не оч удобно так как довольно много классов от туда хватать буду в разных местах программы, получается придётся делать синглтон для загрузки самой либы, чтобы не указывать в каждом месте её загрузку.. =(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_hmmm_*
сообщение 17.5.2009, 12:25
Сообщение #25





Гости








    


з.ы. только если конечно мы можем указать path не глобально а исключительно для программы. Не совсем правда соображу как это сделать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 17.5.2009, 12:35
Сообщение #26


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Гость_hmmm_* @ 17.5.2009, 16:23) *
я думал проблема может быть решена каким либо шаманством с настройками проекта solutinа
ну в ней я думаю можно так сделать, но я студией не пользуюсь
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 17.5.2009, 13:51
Сообщение #27


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


Цитата(Гость_hmmm_* @ 17.5.2009, 13:25) *
з.ы. только если конечно мы можем указать path не глобально а исключительно для программы. Не совсем правда соображу как это сделать.

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

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

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

теперь прога запустится в нужном окружении

Сообщение отредактировал kwisp - 17.5.2009, 13:55
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_hmmm_*
сообщение 17.5.2009, 14:57
Сообщение #28





Гости








    


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

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

Возможно я что-то путаю или не понимаю, но перелопатил много материалла и на prog.org.ru и здесь и в документации и другое пути пока не нашёл. =((
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kwisp
  опции профиля:
сообщение 17.5.2009, 17:52
Сообщение #29


астарожна ынтжинэр
*****

Группа: Участник
Сообщений: 1404
Регистрация: 26.11.2008
Из: ТаганрогРодинаЧехова
Пользователь №: 435

Спасибо сказали: 113 раз(а)




Репутация:   23  


эт наверное я не понимаю.

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

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

впрочем если я что то перепутал то простите. завтра с работы могу кинуть свои батники если надо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 8.4.2025, 21:44