2013-10-01 2 views
0

Я получаю следующее предупреждение сборки при попытке компиляции .sln для Chromium:Визуальный относительный путь Студия макро Output Directory, кажется, не работает должным образом

Warning 1 warning MSB8012: TargetPath(C:\chromiumtrunk\chromium\src\base\allocator\..\..\build\Debug\allocator_extension_thunks.lib) does not match the Library's OutputFile property value (C:\chromiumtrunk\chromium\src\build\Debug\lib\allocator_extension_thunks.lib). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Lib.OutputFile). C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.CppBuild.targets 1299 5 allocator_extension_thunks 

Он жалуется, что этот путь :

C:\chromiumtrunk\chromium\src\base\allocator\..\..\build\Debug\allocator_extension_thunks.lib 

не соответствует ожидаемому пути:

C:\chromiumtrunk\chromium\src\build\Debug\lib\allocator_extension_thunks.lib) 

но ... "\base\allocator..\..\" должен отменить ... правильно? Единственное отличие между этими двумя путями состоит в том, что .lib выводится в папку/lib. Это кажется правильным. Я не понимаю, как я должен правильно разрешать это сообщение.

Я рад предоставить любую необходимую информацию. Я предполагаю, что это просто простая переменная твик, но немного потерял ..

C/C++ -> General -> Output Directory: '..\..\build\$(Configuration)\ 
C/C++ -> General -> Intemeradiate Directory: '$(OutDir)obj\$(ProjectName)\ 
Librarian -> General -> Output File: $(OutDir)lib\$(ProjectName).lib 

ответ

1

Да, дополнительный «Lib» производит это предупреждение, эти два пути не совпадают. На самом деле не уверен, что пошло не так, окончательный .lib-файл попадает в каталог lib, хотя MSBuild сообщает об ошибке в сообщении о завершении сборки. Вкратце от этого плохого сообщения, я бы предположил, что проблема связана с автоматическими зависимостями. Это трение появилось на VS2010, когда они перешли из пользовательского VCBuild в MSBuild.

Если вы хотите избавиться от предупреждения, верните исходный файл проекта библиотеки в $ (OutDir) $ (TargetName) $ (TargetExt) и измените выходной каталог на ..\..\build\lib\$(Configuration).