Есть приложение, которое использует библиотеку libpq.dll. Приложение компилируется нормально, но при запуске требует библиотеку libintl.dll (как понимаю. libpq.dll на нее завязан). Приложение ее ищет в текущей папке и если этой библиотеки нет, то падает.
Я хочу все библиотеки переместить в папку /libs вопрос. Как мне сделать так, чтобы libpq.dll искал библиотеку libintl.dll не в папке текущего приложения, а в папке /libs ?
Нужно либо добавить путь к папке libs в PATH.
Либо добавить путь к библиотеке в ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs.
Используй отложенную загрузку библиотеки и, первым делом, добавляй в пути поиска путь к твоей папке. Это нужно делать до обращения к любой из dll. Подход аналогичен использованию LoadLibrary, только тебе не нужно ни подгружать библиотеку, ни функции экспортировать.
Прям первой строчкой в main (или где у тебя точка входа) вызови ::SetDllDirectory( путь к папке с dll )