Visual Studio: различные библиотеки DLL для конфигураций - PullRequest
18 голосов
/ 31 января 2010

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

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

  1. К сожалению, я не могу использовать опцию «любая платформа», которая используется по умолчанию из-за несовместимых с x64 DLL-библиотек.
  2. Я хочу поддерживать настоящую x64 и не запускать 32-битное приложение в x64 OS.

Ответы [ 3 ]

13 голосов
/ 31 января 2010

Вы можете добавить условия к ссылкам dll в файле проекта, но вы не можете сделать это с помощью Visual Studio - вам придется вручную редактировать файлы проекта. См. this , как это сделать.

Что вам нужно сделать, так это включить ссылку на 32-битную dll только в конфигурации 32-битной сборки и ссылку на 64-битную dll в конфигурации 64-битной сборки.

1 голос
/ 11 сентября 2013

Вам нужно условие для ссылки на dll в файле проекта.
Это приведет к тому, что Visual Studio будет перепроверять условие и ссылку при каждом изменении активной конфигурации.
Просто добавьте условие для каждой конфигурации.

Пример:

 <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>
0 голосов
/ 31 января 2010

Какая версия VS? На каком языке вы развиваете? Если родной (= не управляемый) C ++, практически все параметры, включая используемые библиотеки, могут быть установлены по-разному для каждой конфигурации. В верхней части диалогового окна свойств проекта просто выберите параметры конфигурации, которые вы хотите изменить.

...