Загрузка исполняемого файла DLL (x32, x64): выберите правильный - PullRequest
1 голос
/ 02 апреля 2009

У меня большой проект с несколькими сторонними библиотеками. Я хочу построить все для 32 и 64-битной архитектуры. Несколько библиотек создают общие библиотеки (dll). Каков наилучший способ предоставить эти библиотеки скомпилированным исполняемым файлам из моего проекта? Я подумал, что я могу поместить все эти библиотеки в каталог, который добавляется в переменную PATH. Но большинство библиотек, созданных из сторонних библиотек, названы одинаково при 32- и 64-битной компиляции, поэтому я не могу поместить их в один каталог. Могу ли я создать две директории, одну для 32-битных библиотек и одну для 64-битных библиотек, а исполняемый файл выбирает нужные библиотеки? Или у вас есть идея, чтобы мой исполняемый файл загружал нужные библиотеки? Спасибо!

Ответы [ 2 ]

1 голос
/ 09 апреля 2009

Поскольку 32-битный исполняемый файл не может выбирать 64-битные библиотеки DLL и наоборот. У вас есть только один каталог со всеми 32-битными (исполняемыми + DLL) и другой каталог со всеми 64-битными.

0 голосов
/ 02 апреля 2009

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

...