Будівельний блендер у Visual Studio


0

Я будую блендер для Windows у Visual Studio 2017.

Я витягнув джерело для блендера через Git, і я витягнув губки через svn, завантажив і встановив підтримку CUDA.

Наступний висновок я отримую від запуску build.bat release.

CMake Error: Could not create named generator Visual Studio 12 2013 Win64

Generators
  Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 9 2008 [arch]  = Generates Visual Studio 2008 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 8 2005 [arch]  = Deprecated.  Generates Visual Studio 2005
                                 project files.  Optional [arch] can be
                                 "Win64".
  Borland Makefiles            = Generates Borland makefiles.
  NMake Makefiles              = Generates NMake makefiles.
  NMake Makefiles JOM          = Generates JOM makefiles.
  Green Hills MULTI            = Generates Green Hills MULTI files
                                 (experimental, work-in-progress).
  MSYS Makefiles               = Generates MSYS makefiles.
  MinGW Makefiles              = Generates a make file for use with
                                 mingw32-make.
  Unix Makefiles               = Generates standard UNIX makefiles.
  Ninja                        = Generates build.ninja files.
  Watcom WMake                 = Generates Watcom WMake makefiles.
  CodeBlocks - MinGW Makefiles = Generates CodeBlocks project files.
  CodeBlocks - NMake Makefiles = Generates CodeBlocks project files.
  CodeBlocks - NMake Makefiles JOM
                               = Generates CodeBlocks project files.
  CodeBlocks - Ninja           = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
  CodeLite - MinGW Makefiles   = Generates CodeLite project files.
  CodeLite - NMake Makefiles   = Generates CodeLite project files.
  CodeLite - Ninja             = Generates CodeLite project files.
  CodeLite - Unix Makefiles    = Generates CodeLite project files.
  Sublime Text 2 - MinGW Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - NMake Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
  Sublime Text 2 - Unix Makefiles
                               = Generates Sublime Text 2 project files.
  Kate - MinGW Makefiles       = Generates Kate project files.
  Kate - NMake Makefiles       = Generates Kate project files.
  Kate - Ninja                 = Generates Kate project files.
  Kate - Unix Makefiles        = Generates Kate project files.
  Eclipse CDT4 - NMake Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - MinGW Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.

CMake Error: Could not create named generator Visual Studio 14 2013 Win64

Generators
  Visual Studio 15 2017 [arch] = Generates Visual Studio 2017 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 14 2015 [arch] = Generates Visual Studio 2015 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 12 2013 [arch] = Generates Visual Studio 2013 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 11 2012 [arch] = Generates Visual Studio 2012 project files.
                                 Optional [arch] can be "Win64" or "ARM".
  Visual Studio 10 2010 [arch] = Generates Visual Studio 2010 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 9 2008 [arch]  = Generates Visual Studio 2008 project files.
                                 Optional [arch] can be "Win64" or "IA64".
  Visual Studio 8 2005 [arch]  = Deprecated.  Generates Visual Studio 2005
                                 project files.  Optional [arch] can be
                                 "Win64".
  Borland Makefiles            = Generates Borland makefiles.
  NMake Makefiles              = Generates NMake makefiles.
  NMake Makefiles JOM          = Generates JOM makefiles.
  Green Hills MULTI            = Generates Green Hills MULTI files
                                 (experimental, work-in-progress).
  MSYS Makefiles               = Generates MSYS makefiles.
  MinGW Makefiles              = Generates a make file for use with
                                 mingw32-make.
  Unix Makefiles               = Generates standard UNIX makefiles.
  Ninja                        = Generates build.ninja files.
  Watcom WMake                 = Generates Watcom WMake makefiles.
  CodeBlocks - MinGW Makefiles = Generates CodeBlocks project files.
  CodeBlocks - NMake Makefiles = Generates CodeBlocks project files.
  CodeBlocks - NMake Makefiles JOM
                               = Generates CodeBlocks project files.
  CodeBlocks - Ninja           = Generates CodeBlocks project files.
  CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
  CodeLite - MinGW Makefiles   = Generates CodeLite project files.
  CodeLite - NMake Makefiles   = Generates CodeLite project files.
  CodeLite - Ninja             = Generates CodeLite project files.
  CodeLite - Unix Makefiles    = Generates CodeLite project files.
  Sublime Text 2 - MinGW Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - NMake Makefiles
                               = Generates Sublime Text 2 project files.
  Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
  Sublime Text 2 - Unix Makefiles
                               = Generates Sublime Text 2 project files.
  Kate - MinGW Makefiles       = Generates Kate project files.
  Kate - NMake Makefiles       = Generates Kate project files.
  Kate - Ninja                 = Generates Kate project files.
  Kate - Unix Makefiles        = Generates Kate project files.
  Eclipse CDT4 - NMake Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - MinGW Makefiles
                               = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
  Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.

Microsoft (R) Build Engine version 15.4.8.50001 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.
MSBUILD : error MSB1009: Project file does not exist.
Switch: D:\Users\brazg\Documents\GitHub\blender\..\build_windows_Release_x64_vc14_Release\Blender.sln
"Build Failed"

Це не любить використовувати щось вище vc12, що я намагаюся змусити це зробити.

Я щось пропускаю?

Також у make.bat є посилання на код vc 2017:

else if "%1" == "x64" (
    set BUILD_ARCH=x64
) else if "%1" == "2017" (

set BUILD_VS_VER=15
set BUILD_VS_YEAR=2017
set BUILD_VS_LIBDIRPOST=vc14

Це працює зараз! Я дуже зелений із пакетними сценаріями Visual Studio. Я більше знайомий з GCC. Дякую! :)
Whitequill Рікло

Відповіді:


0

Більше було одного файлу, який потрібно було відредагувати.

По-перше, у platform_win32.cmake виникли помилки.

Я змінив: set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc14)у set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/${LIBDIR_BASE}_vc15)рядках 147 і 150. Це Вирішено помилка про win32_vc14 не існує. Рядки 147 і 150 стосуються виявлення VS2017, тому вони повинні були сказати win32_vc15 .

Далі make.bat потребував редагування, але не так багато. Блок перевірки здорового стану я коментував рядки 187 до 202;

:sanity_checks REM Sanity Checks ::where /Q msbuild ::if %ERRORLEVEL% NEQ 0 ( :: if "%BUILD_VS_VER%"=="12" ( :: rem vs12 not found, try vs14 :: echo Visual Studio 2013 not found, trying Visual Studio 2015. :: set BUILD_VS_VER=15 :: set BUILD_VS_YEAR=2017 :: set BUILD_VS_LIBDIRPOST=vc15 :: goto DetectMSVC :: ) else ( ::"" echo Error: "MSBuild" command not in the PATH. :: echo You must have MSVC installed and run this from the "Developer Command ::Prompt" :: echo ^(available from Visual Studio's Start menu entry^), aborting! :: goto EOF :: ) ::)

а рядки 83 - 87:

::set BUILD_VS_VER=14 ::set BUILD_VS_YEAR=2015 ::set BUILD_VS_LIBDIRPOST=vc14 ::) else if "%1" == "2013" ( ::set BUILD_VS_VER=12 ::set BUILD_VS_YEAR=2013 ::set BUILD_VS_LIBDIRPOST=vc12

в іншому випадку він все ще шукає vc12 .

Рядок 81 також повинна бути відредаговані: set BUILD_VS_LIBDIRPOST=vc14на set BUILD_VS_LIBDIRPOST=vc15 лінії 81 також щодо перебування VS2017 , так що я не знаю , чому він був встановлений в vc14 .

Редагувати : Рядок 162: if DEFINED VisualStudioVersion goto msvc_detect_finallyпотрібно змінити, щоб сказати:if DEFINED VisualStudioVersion goto msvc_detect_finally_2017

Після цього компіляція спрацювала чудово за 01: 29: 42.49 , але все ж не вдалася, ймовірно, тому що не може знайти pthread.h або zlib.h або кілька інших файлів заголовків.

Дякую за вашу допомогу @Ramhound. Я буду радий поговорити з вами незабаром, якщо у вас буде більше інформації. Нижче я включаю посилання на свій Build.log, якщо там щось є.

Build.log


Я спробував з Visual Studio 2013 x64 (vc12) і мав той самий результат, що і 2017 x64 (vc15). Вони обоє не змогли побудувати ... Ось журнал з vc12 build: build.log vc12
Whitequill Рікло

Додам, що я змінив / maxcpucount на 8, щоб краще представити свою систему. за замовчуванням встановлено 2. На мій вибір, компілятор повинен перевірити кількість ядер або логічних процесорів та оптимізувати для ЦП при компілюванні.
Whitequill Riclo

означає / maxcpucount означає: CPU ядра; логічні процесори; потоки або фізичні процесори?
Whitequill Riclo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.