Будівельний блендер у 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.