Как указать AdditionalLibraryDirectories для msbuild? - PullRequest
0 голосов
/ 10 ноября 2019

Я имею дело с файлом .vcxproj со следующим сегментом Link:

    <Link>
      <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
      <SuppressStartupBanner>true</SuppressStartupBanner>
      <AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <AssemblyDebug>
      </AssemblyDebug>
      <ProgramDatabaseFile>$(OutDir)$(TargetName).pdb</ProgramDatabaseFile>
      <SubSystem>Console</SubSystem>
      <RandomizedBaseAddress>false</RandomizedBaseAddress>
      <DataExecutionPrevention>
      </DataExecutionPrevention>
      <TargetMachine>MachineX86</TargetMachine>
      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
    </Link>

Казалось бы, я мог бы добавить больше элементов к компоновщику LIBPATH, простодобавление еще одного аргумента в командную строку msbuild: /p:AdditionalLibraryDirectories=D:\Foo\lib. К сожалению, это, кажется, игнорируется, и link.exe вызывается только с аргументом /LIBPATH:..\lib ...

Если я отредактирую файл и заменим %(AdditionalLibraryDirectories) -часть нужным путем, все работает - линкервызывается с двумя /LIBPATH: аргументами, и исполняемый файл создается.

Почему я не могу указать его как свойство в командной строке?

Я использую Visual Studio 2017,с msbuild, объявляющим себя «Build Engine версия 15.9.21 + g9802d43bc3».

...