Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.01.2011, 18:02   #1
Dayman
Форумчанин
 
Аватар для Dayman
 
Регистрация: 12.01.2011
Сообщений: 186
По умолчанию Dll в субдиректориях

Хочу убрать dll'ки в поддиректорию приложения, но к сожалению запустить приложение тогда не удается.
Есть ли способ осуществить задуманное?

Сразу оговорюсь: использую implicit linking.
Удалось нагуглить SetDllDirectory, но это подходит только для explicit linking.
Ах да, менять рабочую директорию нельзя.
Lingua c++ non penis caninus est.
Dayman вне форума Ответить с цитированием
Старый 12.01.2011, 18:21   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

нет, ДЛЛ при явном связывании(по русски не написать вам самим было?) указывается лишь имя ДЛЛ.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 12.01.2011, 18:23   #3
like-nix
Форумчанин
 
Регистрация: 09.11.2009
Сообщений: 104
По умолчанию

В MSVC если не ошибаюсь в опциях линкера есть опция Additional Library Directories. В обще надо смотреть настройки конкретного линковщика.
like-nix вне форума Ответить с цитированием
Старый 12.01.2011, 20:37   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

2 like-nix
это не то
p51x вне форума Ответить с цитированием
Старый 12.01.2011, 20:42   #5
like-nix
Форумчанин
 
Регистрация: 09.11.2009
Сообщений: 104
По умолчанию

может быть =)
like-nix вне форума Ответить с цитированием
Старый 12.01.2011, 22:59   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я же вроде ответил.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.01.2011, 21:49   #7
Dayman
Форумчанин
 
Аватар для Dayman
 
Регистрация: 12.01.2011
Сообщений: 186
Печаль

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
нет, ДЛЛ при явном связывании(по русски не написать вам самим было?) указывается лишь имя ДЛЛ.
Ясно, спасибо. Похоже придется таскать почти 10 dll.
А с русским у меня в этой области плохо, привык уже к английскому
Lingua c++ non penis caninus est.
Dayman вне форума Ответить с цитированием
Старый 02.02.2011, 20:17   #8
Eugenij
 
Регистрация: 12.09.2008
Сообщений: 9
По умолчанию

если очень нужно, то есть способ (но его нужно выполнять вручную)
качаем PeEditor и выолняем:
PeEditor -> Directories -> Import Directory -> выбираем Dll -> Edit -> меняем имя Dll...
например:
myCoolFunc.dll -> DLL\clFunc.dll
ну и соответственно меняем имена DLL-ок
это все можно автоматизировать...
ЗЫ.
если вписать Prog.exe:nc.dll то dll можно поместить в альтернативный поток программы
(паковать Rar-ом с опцией сохранять потоки) - получиться один файл...
Компьютер это средство для решения проблем, которых до его появления не существовало...

Последний раз редактировалось Eugenij; 02.02.2011 в 20:21.
Eugenij вне форума Ответить с цитированием
Старый 02.02.2011, 20:43   #9
Dayman
Форумчанин
 
Аватар для Dayman
 
Регистрация: 12.01.2011
Сообщений: 186
По умолчанию

Максимум чего удалось добиться:


Редактировать DllName не могу.

Пробовал Pe Explorer, PEditor, PETools.
Lingua c++ non penis caninus est.
Dayman вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пытаюсь понять код user32.dll и gdi32.dll Beermonza Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 43 13.07.2010 15:09
Windows I/o без Kernel32.dll и Advapi32.dll coinkrsk Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 31 27.06.2010 08:52
[DLL] Загрузка и выгрузка dll в/из чужого процесса Человек_Борща Win Api 4 28.02.2010 17:47
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36
Запуск Load.dll (бывшая Load.exe) в дереве проц-ов, Как запустить прогой на C# .dll-ку kapustin Общие вопросы .NET 10 23.09.2009 22:20