![]() |
|
![]() ![]() ![]() |
|
Kirow |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.11.2007 Репутация: нет Всего: нет |
В общем есть сторонние папки bin/lib/include. Подключаю lib и include, но для работы проги необходимы dll'ки из папки bin.
Самый примитивный вариант - добавить в системную переменную path путь к папке bin.Не подходит. Второй способ - скопировать нужные dll'ки в папку с проектом руками. Слишком нудно. Что-бы я хотел?Хотелось бы где-нибудь в настройках указать путь к папке bin, и чтобы проект автоматически искал не хватающие dll файлы в той указанной папке и копировал их в папку с проектом (ну или что-нибудь типа того). Возможно ли сделать такое? Если да,то где и как? |
|||
|
||||
volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 4 Всего: 85 |
Хороший способ. почему не подходит? минусов практически нет.
В чем нудность? Можно не копировать, а "хард линкануть", лишнее место на диске занимать копия не будет. Ну можно конечно какой-нибудь pre-build event создать, но это же нужно всего один раз, а не при каждой компиляции. Проще один раз руками сделать хард линки, причем не в папку проекта, чтобы не засорять, а в папку с релизом, и все! зы: хотя может кто-то и еще что-то предложит, посмотрим... |
|||
|
||||
Kirow |
|
||||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.11.2007 Репутация: нет Всего: нет |
В том что надо самому выбирать из кучи dll файлов те которые нужны. При этом я не знаю какие именно нужны на данные момент. Предположим меня устраивает вариант с pre-build'ом, но существует ряд вопросов.Основной из них это какого вида макрос должен быть чтобы он сам определял нужные для приложения dll файлы? Потому что если мне придется каждый файл прописывать вручную, то такой способ проигрывает 2ому, где просто скопировать надо. И как писать вообще макрос в Pre-Build?я думал как .bat файл...оказалось не так пытался сделать что-то типа
но такая конструкция не работает.Где можно посмотреть синтаксис для такого дела? Разобрался почему не работало. В пути к проекту была папка Visual Studio 2010, пробелы не захавало. Ну теперь линкуются дллки в папку с проектом, но каждую надо отельной строкой описывать.Было бы не плохо если бы кто-нибудь предложил некую автоматизацию,чтобы оно само определяло все нужные для работы приложения. Это сообщение отредактировал(а) Kirow - 15.1.2012, 19:06 |
||||
|
|||||
Amp |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: нет Всего: 17 |
Переменные окружения можно переопределить для заданного процесса, не меняя общесистемных. Правда не знаю как это элегантно с VS провернуть. А ситуацию с debug/release сборками библиотек он как будет разруливать? По-моему достаточно написать скрипт, который копирует dll по папкам и пусть его запускают те, кому надо рабочее окружение устанавливать. Если ты один, то и ручками можно скопировать. В конце концов проект же твой и все его зависимости тебе известны. |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Стоит помнить о таком моменте как распространение программы: если все модули в одной папке, то значительно проще их собрать в дистрибутив (или скопировать клиенту). А иначе, если делать через переменные среды, то в IDE программа запускаться будет, а из-вне?
-------------------- ... |
|||
|
||||
Kirow |
|
|||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 1.11.2007 Репутация: нет Всего: нет |
В общем на данном этапе обхожусь символьными линками...каждую приходится руками в скрипт добавлять, но к этому можно привыкнуть.
В идеале конечно было бы не плохо каким-либо образом определять названия dll файлов, необходимых программе, чтобы можно было написать универсальный скрипт и забыть про все это дело. P.S. что-то смотрю назвал я тему несколько не правильно ![]() |
|||
|
||||
Azriel |
|
||||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 25.8.2015 Репутация: нет Всего: нет |
В свойствах startup-проекта: Configuration Properties -- Debugging -- Environment дописать нужный путь. Например,
|
||||
|
|||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |