Подтвердить что ты не робот

Visual Studio: разные библиотеки DLL для конфигураций

Я хотел бы сделать x86 и x64 версию моего приложения, потому что некоторые из библиотек, которые я использую, имеют отличия для x86 и x64 (например, SQLite). Я создал новую конфигурацию для релизов, которая имеет целевую операционную систему "x64".

Есть ли способ определить различные библиотеки DLL для конфигурации, например. используйте SQLite.dll для выпуска x86 и SQLite64.dll для версии x64?

  • К сожалению, я не могу использовать опцию "любая платформа", которая по умолчанию используется из-за не совместимых с x64 DLL файлов.
  • Я хочу поддерживать реальный x64 и не запускать 32-разрядное приложение на x64 OS.
4b9b3361

Ответ 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 (= не управляется) С++, практически все настройки, включая используемые библиотеки, могут быть установлены по-разному для каждой конфигурации. В верхней части диалогового окна свойств проекта просто выберите, какие параметры конфигурации вы хотите изменить.