Поиск:

Ответ в темуСоздание новой темы Создание опроса
> VisualStudio IDE.Как указать папку с dll 
:(
    Опции темы
Kirow
Дата 15.1.2012, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



В общем есть сторонние папки bin/lib/include. Подключаю lib и include, но для работы проги необходимы dll'ки из папки bin.
Самый примитивный вариант - добавить в системную переменную path путь к папке bin.Не подходит.
Второй способ - скопировать нужные dll'ки в папку с проектом руками. Слишком нудно.
Что-бы я хотел?Хотелось бы где-нибудь в настройках указать путь к папке bin, и чтобы проект автоматически искал не хватающие dll файлы в той указанной папке и копировал их в папку с проектом (ну или что-нибудь типа того). 
Возможно ли сделать такое? Если да,то где и как?
PM MAIL   Вверх
volatile
Дата 15.1.2012, 01:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

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



Цитата(Kirow @  15.1.2012,  00:29 Найти цитируемый пост)
добавить в системную переменную path путь к папке bin.Не подходит.

Хороший способ. почему не подходит? минусов практически нет.

Цитата(Kirow @  15.1.2012,  00:29 Найти цитируемый пост)
скопировать нужные dll'ки в папку с проектом руками. Слишком нудно.

В чем нудность?
Можно не копировать, а "хард линкануть", лишнее место на диске занимать копия не будет.

Цитата(Kirow @  15.1.2012,  00:29 Найти цитируемый пост)
Хотелось бы где-нибудь в настройках указать путь к папке bin, и чтобы проект автоматически искал не хватающие dll файлы в той указанной папке и копировал их в папку с проектом 

Ну можно конечно какой-нибудь pre-build event создать, но это же нужно всего один раз, а не при каждой компиляции.
Проще один раз руками сделать хард линки,  причем не в папку проекта, чтобы не засорять, а в папку с релизом, и все!

зы: хотя может кто-то и еще что-то предложит, посмотрим...

PM MAIL   Вверх
Kirow
Дата 15.1.2012, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

В чем нудность?

В том что надо самому выбирать из кучи dll файлов те которые нужны. При этом я не знаю какие именно нужны на данные момент.
Предположим меня устраивает вариант с pre-build'ом, но существует ряд вопросов.Основной из них это какого вида макрос должен быть чтобы он сам определял нужные для приложения dll файлы? Потому что если мне придется каждый файл прописывать вручную, то такой способ проигрывает 2ому, где просто скопировать надо.

И как писать вообще макрос в Pre-Build?я думал как .bat файл...оказалось не так
пытался сделать что-то типа
Код

IF NOT EXIST $(OutDir)mySuper.dll (mklink  $(OutDir)mySuper.dll $(MY_DLL_STORAGE)\mySuper.dll)

но такая конструкция не работает.Где можно посмотреть синтаксис для такого дела?

Разобрался почему не работало. В пути к проекту была папка Visual Studio 2010, пробелы не захавало.

Ну теперь линкуются дллки в папку с проектом, но каждую надо отельной строкой описывать.Было бы не плохо если бы кто-нибудь предложил некую автоматизацию,чтобы оно само определяло все нужные для работы приложения.

Это сообщение отредактировал(а) Kirow - 15.1.2012, 19:06
PM MAIL   Вверх
Amp
Дата 15.1.2012, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Kirow @  15.1.2012,  00:29 Найти цитируемый пост)
Не подходит.

Переменные окружения можно переопределить для заданного процесса, не меняя общесистемных. Правда не знаю как это элегантно с VS провернуть.

Цитата(Kirow @  15.1.2012,  00:29 Найти цитируемый пост)
Хотелось бы где-нибудь в настройках указать путь к папке bin, и чтобы проект автоматически искал не хватающие dll файлы в той указанной папке и копировал их в папку с проектом (ну или что-нибудь типа того). 

А ситуацию с debug/release сборками библиотек он как будет разруливать? По-моему достаточно написать скрипт, который копирует dll по папкам и пусть его запускают те, кому надо рабочее окружение устанавливать. Если ты один, то и ручками можно скопировать. В конце концов проект же твой и все его зависимости тебе известны.
PM MAIL   Вверх
Earnest
Дата 16.1.2012, 08:02 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



Стоит помнить о таком моменте как распространение программы: если все модули в одной папке, то значительно проще их собрать в дистрибутив (или скопировать клиенту). А иначе, если делать через переменные среды, то в IDE программа запускаться будет, а из-вне?


--------------------
...
PM   Вверх
Kirow
Дата 19.1.2012, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



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

P.S. что-то смотрю назвал я тему несколько не правильно smile


PM MAIL   Вверх
Azriel
Дата 25.8.2015, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

Переменные окружения можно переопределить для заданного процесса, не меняя общесистемных. Правда не знаю как это элегантно с VS провернуть.


В свойствах startup-проекта:
Configuration Properties -- Debugging -- Environment
дописать нужный путь.

Например,
Код

PATH=my\path\to\bin;$(PATH);

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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