1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
|
|
1 | |
Как указать директорию для динамических библиотек17.04.2014, 18:31. Показов 6413. Ответов 42
Метки нет (Все метки)
Проблема в том, что заюзав кучу динамических библиотек, 20 файлов лежат у меня в директории выходной программы. Хотелось бы их в папочку bin запихнуть, да прога жалуется - найти не может. Настройки проекта смотрел, ничего дельного не нашёл. Не подскажите, что делать?
P.S. надеюсь, исходник не надо...
0
|
17.04.2014, 18:31 | |
Ответы с готовыми решениями:
42
Как указать для openFileDialog директорию приложения Указать стартовую директорию для диалога выбора файла Как компилятору указать директорию заголовочных файлов. Как при Process.Start() указать текущую директорию |
7789 / 6556 / 2984
Регистрация: 14.04.2014
Сообщений: 28,661
|
|
17.04.2014, 22:02 | 2 |
Ты в чём вообще работаешь? Что за папка bin?
0
|
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
|
|
17.04.2014, 22:13 [ТС] | 3 |
В Visual Studio, папка bin - папка в директории моей программы, где надо искать библиотеки.
0
|
Модератор
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,711
|
|
17.04.2014, 22:21 | 4 |
Такие dll надо зарегистрировать из командной строки
>regsvr32 c:\bin\mydll.dll
0
|
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
|
|
17.04.2014, 22:31 [ТС] | 5 |
А если я скину другому человеку программу, ему тоже надо будет регистрировать? Нет, так не пойдёт. Должен быть другой способ...
0
|
Модератор
13505 / 10756 / 6411
Регистрация: 18.12.2011
Сообщений: 28,711
|
|
17.04.2014, 22:33 | 6 |
0
|
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
|
|
17.04.2014, 23:03 [ТС] | 7 |
Блин, мне нужно, чтоб все dll были в папке bin в директории моей программы (MyProg/bin/example.dll)
Добавлено через 21 секунду И их прекрасно находила сама программа. Добавлено через 1 минуту Пример. Добавлено через 1 минуту Просто прога ищет только в её директории, а в под-директориях - нет.
0
|
7789 / 6556 / 2984
Регистрация: 14.04.2014
Сообщений: 28,661
|
|
17.04.2014, 23:13 | 8 |
Так и задумано. Либо в своей, либо в системной.
0
|
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
|
|
17.04.2014, 23:14 [ТС] | 9 |
Блин, ну на скрине же лежит! Сто раз видел!
0
|
7789 / 6556 / 2984
Регистрация: 14.04.2014
Сообщений: 28,661
|
|
17.04.2014, 23:17 | 10 |
Ну может при установке выполняется этот regsvr32, хотя я так не пробовал.
Или применяется динамическая загрузка библиотек через LoadLibrary, там можно путь любой указывать.
0
|
Ушел с форума
|
|
18.04.2014, 00:33 | 11 |
Такой способ есть, называется delay loading:
Linker Support for Delay-Loaded DLLs http://msdn.microsoft.com/en-u... 90%29.aspx Настроить папки для поиска dll поможет функция SetDllDirectory function http://msdn.microsoft.com/en-u... 85%29.aspx
1
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
||||||
18.04.2014, 01:54 | 12 | |||||
Создайте промежуточный bat файл:
0
|
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
|
|
18.04.2014, 08:10 [ТС] | 13 |
Да? Можно по подробней? Просто, даже когда винду сменил, Spore на скрине и без переустановки запускалась.
Добавлено через 15 минут Добавлено через 10 минут Разобрался, но всё равно не видит.
0
|
7789 / 6556 / 2984
Регистрация: 14.04.2014
Сообщений: 28,661
|
|
18.04.2014, 08:12 | 14 |
SetDllDirectory влияет только на динамическую загрузку DLL через LoadLibrary. Если привязка статическая, то это бесполезно.
Да и путь ты неправильно указываешь, надо либо полный, либо относительно текущей: ".\\bin\\" Dll статически привязаны?
0
|
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
|
|
18.04.2014, 13:07 [ТС] | 15 |
Извините, но я не знаю, как определить. Да, я профан.
Добавлено через 45 секунд Просто можете написать нужный код, а я его Ctrl+C, Ctrl+V?
0
|
163 / 104 / 14
Регистрация: 17.10.2012
Сообщений: 488
|
|
18.04.2014, 17:47 | 16 |
WinRar007, почему бы не расположить саму запускаемую программу в папку bin, где ей и место, а уже остальные ресурсы по другим папкам?
0
|
1 / 1 / 0
Регистрация: 08.04.2014
Сообщений: 80
|
|
18.04.2014, 19:18 [ТС] | 17 |
Прога не будет видеть локальные пути к каталогам "снаружи" bin.
0
|
7789 / 6556 / 2984
Регистрация: 14.04.2014
Сообщений: 28,661
|
|
18.04.2014, 19:22 | 18 |
А для чего ей их видеть? Пути в программе можешь переделать через ".."
0
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|
18.04.2014, 19:22 | 19 |
0
|
Pied Piper
236 / 227 / 57
Регистрация: 15.01.2013
Сообщений: 855
|
|
18.04.2014, 19:33 | 20 |
Также интересует данный вопрос. К примеру Viber, который написан на qt, держит свои dll в папочке bin. А exe на один уровень выше.
1
|
18.04.2014, 19:33 | |
18.04.2014, 19:33 | |
Помогаю со студенческими работами здесь
20
Как в коде указать директорию в которой находится m - файл Как лучше копировать память, обмениваться указателями и т.д. при работе с кучей динамических библиотек (DLL) ? Указать директорию Создание динамических библиотек Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |