Я имею дело с файлом .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».