error MSB4057: The target "v8" does not exist in the project

CodeManX picture CodeManX · Aug 18, 2015 · Viewed 7.5k times · Source

I'm trying to build V8 as part of ArangoDB using the official build scripts and following the official Windows build instructions.

The compilation fails for all v8* targets (v8-build.bat):

msbuild All.sln /t:v8 /p:Configuration=Release /p:Platform=x64
msbuild All.sln /t:v8_libbase /p:Configuration=Release /p:Platform=x64
msbuild All.sln /t:v8_libplatform /p:Configuration=Release /p:Platform=x64

error MSB4057: The target "v8" does not exist in the project.

If I open the solution file in Visual Studio, it looks like this:

All.sln

I can build v8, v8_libbase and v8_libplatform just fine in VS.

  • Windows 7 64bit
  • Visual Studio 2013 Ultimate
  • Cygwin 2.2.0
  • cmake 3.3.1

Answer

Dmitry Sokolov picture Dmitry Sokolov · Mar 3, 2016

You can run

set MSBuildEmitSolution=1
msbuild All.sln /t:v8

Then search in the generated All.sln.metaproj file the exact target names (<Target Name="">) of all projects you want to build. v8 can have a name like _tools_\_gyp_\v8. After that you can build projects

msbuild All.sln /t:"_tools_\_gyp_\v8" /p:Configuration=Release /p:Platform=x64