El archivo de registro de compilación VS2010 es incorrecto

My VS2010 C++ project, release config, has an Output Directory of:

$(SolutionDir)\..\_build\Release\

The Intermediate Directory is:

$(SolutionDir)\..\_build\Release\Obj\$(TargetName)\

The Build Log File is just the tu préstamo estudiantil ajuste:

$(IntDir)\$(MSBuildProjectName).log

However, the build log file is not being written where I expect it to be. It is instead being written to:

$(SolutionDir)\_build\Release\Obj\$(TargetName)\$(MSBuildProjectName).log

Es como si el .. is being stripped from the path when writing the log file. However, todos other intermediate files are written to the correct directory.

Is the log writer altering my path? It seems to be 90% correct, but it's missing a vital ... Is there anything I need to do to get it to read correctly?


Actualizar:

After playing around with it, I've discovered that IncrediBuild is causing the problem. Building without IncrediBuild puts the log file in the correct place, but with IncrediBuild the log file is going into the wrong directory.

preguntado el 24 de agosto de 12 a las 00:08

I cannot comment yet so I decide to post as an answer... I have the exact same issue, and I do have the Incredibuild installed. However, removing Incredibuild is not helping. The "..\" part is still stripped. Is this a bug with the <BuildLog> tag? -

2 Respuestas

Trata

<Path>$(SolutionDir)..\Output\$(ProjectName).log</Path>

It works for me. SolutionDir already has a \ on the end so you end up with \\ in the path, which I think is the problem.

Respondido 30 Oct 13, 16:10

I have the same conclusion $(*Dir).. funciona, mientras $(*Dir)\.. messes up. (Visual Studio 2013 Express) - Martín Ba

Okay, say if I want to put the log file in the Output folder that is one level higher than the current solution file location, like this:

MyTestProject
    |___ MyTestProject.sln
    |___ MyTestProjectFolder
    |___ Debug
Output
    |___ MyTestProject.log

In the vs 2010 project file, instead of using:

<BuildLog>
  <Path>$(SolutionDir)\..\Output\$(ProjectName).log</Path>
</BuildLog>

Tengo que usar:

<BuildLog>
  <Path>$(SolutionDir)\..\..\Output\$(ProjectName).log</Path>
</BuildLog>

This is a little bit weird because I don't have to use 2 ".." for all the other paths, like OutDir and IntDir. I will update this answer if I find anything further.

respondido 12 mar '13, 18:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.