Visual Studio: разные библиотеки DLL для конфигураций
Я хотел бы сделать x86 и x64 версию моего приложения, потому что некоторые из библиотек, которые я использую, имеют отличия для x86 и x64 (например, SQLite).
Я создал новую конфигурацию для релизов, которая имеет целевую операционную систему "x64".
Есть ли способ определить различные библиотеки DLL для конфигурации, например. используйте SQLite.dll для выпуска x86 и SQLite64.dll для версии x64?
- К сожалению, я не могу использовать опцию "любая платформа", которая по умолчанию используется из-за не совместимых с x64 DLL файлов.
- Я хочу поддерживать реальный x64 и не запускать 32-разрядное приложение на x64 OS.
Ответы
Ответ 1
Вы можете добавить условия к ссылкам dll в файле проекта, но вы не можете сделать это с помощью Visual Studio - вам придется вручную редактировать файлы проекта. Подробнее о том, как это сделать, см. .
Что вам нужно сделать, так это включить ссылку на 32-разрядную dll только в 32-битной конфигурации сборки и ссылку на 64-разрядную dll в конфигурации 64-битной сборки.
Ответ 2
Вам нужно условие для ссылки dll в файле проекта.
Это заставит визуальную студию перепроверять состояние и ссылку при каждом изменении активной конфигурации.
Просто добавьте условие для каждой конфигурации.
Пример:
<ItemGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<Reference Include="DLLName">
<HintPath>..\DLLName.dll</HintPath>
</Reference>
<ProjectReference Include="..\MyOtherProject.vcxproj">
<Project>{AAAAAA-000000-BBBB-CCCC-TTTTTTTTTT}</Project>
<Name>MyOtherProject</Name>
</ProjectReference>
</ItemGroup>
Ответ 3
Какая версия VS? На каком языке вы развиваетесь?
Если native (= не управляется) С++, практически все настройки, включая используемые библиотеки, могут быть установлены по-разному для каждой конфигурации. В верхней части диалогового окна свойств проекта просто выберите, какие параметры конфигурации вы хотите изменить.