LINUX.ORG.RU

История изменений

Исправление rumgot, (текущая версия) :

Вывод диагностических сообщений включен по крайней мере в gcc и clang. В MSVC (19.28.29333.0) у меня ничего не выводится (у меня Qt Creator + MSVC (собираю через CMake), если собирать через консоль PowerShell и ручной вызов CMake, то тоже ничего не выводится). В любом случае, неужели ты будешь утверждать, что лучше заморачиваться с флагами, вместо того чтобы иметь нормальный nullptr?

Вот сборка в PowerShell:

PS C:\libs_build\build_test> cmake -G "Visual Studio 16 2019" -A x64 ..\test\
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.17763.
-- The CXX compiler identification is MSVC 19.28.29333.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/libs_build/build_test
PS C:\libs_build\build_test> cmake --build . --config release --verbose --parallel 4
Microsoft (R) Build Engine версии 16.8.1+bd2ea1e3c для .NET Framework
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

Сборка начата 30.11.2020 20:24:19.
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" в узле 1 (целевые объекты по умолчанию).
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" (1) выполняет сборку "C:\libs_build\build_test\ZERO_CHECK.vcxproj" (2) в узле 1 (целевые объекты по умолчанию).
     2>PrepareForBuild:
         Создание каталога "x64\release\ZERO_CHECK\".
         Создание каталога "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\".
       InitializeBuildStatus:
         Создание "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Checking Build System
       FinalizeBuildStatus:
         Файл "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" удаляется.
         Обращение к "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
     2>Сборка проекта "C:\libs_build\build_test\ZERO_CHECK.vcxproj" завершена (целевые объекты по умолчанию).
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" (1) выполняет сборку "C:\libs_build\build_test\test.vcxproj" (3) в узле 1 (целевые объекты по умолчанию).
     3>PrepareForBuild:
         Создание каталога "test.dir\Release\".
         Создание каталога "C:\libs_build\build_test\Release\".
         Создание каталога "test.dir\Release\test.tlog\".
       InitializeBuildStatus:
         Создание "test.dir\Release\test.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Building Custom Rule C:/libs_build/test/CMakeLists.txt
       ClCompile:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\CL.exe /c /nologo /W3 /WX- /diagnostics:column /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D "CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise
         /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"test.dir\Release\\" /Fd"test.dir\Release\vc142.pdb" /Gd /TP /errorReport:queue C:\libs_build\test\main.cpp
         main.cpp
       Link:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\link.exe /ERRORREPORT:QUEUE /OUT:"C:\libs_build\build_test\Release\test.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.l
         ib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"C:/libs_build/build_test/Release/test.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/libs_build/b
         uild_test/Release/test.lib" /MACHINE:X64  /machine:x64 test.dir\Release\main.obj
         test.vcxproj -> C:\libs_build\build_test\Release\test.exe
       FinalizeBuildStatus:
         Файл "test.dir\Release\test.tlog\unsuccessfulbuild" удаляется.
         Обращение к "test.dir\Release\test.tlog\test.lastbuildstate".
     3>Сборка проекта "C:\libs_build\build_test\test.vcxproj" завершена (целевые объекты по умолчанию).
     1>PrepareForBuild:
         Создание каталога "x64\release\ALL_BUILD\".
         Создание каталога "x64\release\ALL_BUILD\ALL_BUILD.tlog\".
       InitializeBuildStatus:
         Создание "x64\release\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Building Custom Rule C:/libs_build/test/CMakeLists.txt
       FinalizeBuildStatus:
         Файл "x64\release\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild" удаляется.
         Обращение к "x64\release\ALL_BUILD\ALL_BUILD.tlog\ALL_BUILD.lastbuildstate".
     1>Сборка проекта "C:\libs_build\build_test\ALL_BUILD.vcxproj" завершена (целевые объекты по умолчанию).

Сборка успешно завершена.
    Предупреждений: 0
    Ошибок: 0

Прошло времени 00:00:00.98

При этом CMakeLists.txt самый дефолтный:

cmake_minimum_required(VERSION 3.5)

project(test LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(test main.cpp)

Ну и main.cpp:

#include <iostream>

int main() {
  int i = NULL;
  int j{};
  
  if (j == NULL) {
    // Do something
  }
}

Исправление rumgot, :

Вывод диагностических сообщений включен по крайней мере в gcc и clang. В MSVC (19.28.29333.0) у меня ничего не выводится (у меня Qt Creator + MSVC (собираю через CMake), если собирать через консоль PowerShell и ручной вызов CMake, то тоже ничего не выводится). В любом случае, неужели ты будешь утверждать, что лучше заморачиваться с флагами, вместо того чтобы иметь нормальный nullptr?

Вот сборка в PowerShell:

PS C:\libs_build> cmake -G "Visual Studio 16 2019" -A x64 ..\test\
CMake Error: The source directory "C:/test" does not exist.
Specify --help for usage, or press the help button on the CMake GUI.
PS C:\libs_build> cd .\build_test\
PS C:\libs_build\build_test> cmake -G "Visual Studio 16 2019" -A x64 ..\test\
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.17763.
-- The CXX compiler identification is MSVC 19.28.29333.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/libs_build/build_test
PS C:\libs_build\build_test> cmake --build . --config release --verbose --parallel 4
Microsoft (R) Build Engine версии 16.8.1+bd2ea1e3c для .NET Framework
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

Сборка начата 30.11.2020 20:24:19.
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" в узле 1 (целевые объекты по умолчанию).
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" (1) выполняет сборку "C:\libs_build\build_test\ZERO_CHECK.vcxproj" (2) в узле 1 (целевые объекты по умолчанию).
     2>PrepareForBuild:
         Создание каталога "x64\release\ZERO_CHECK\".
         Создание каталога "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\".
       InitializeBuildStatus:
         Создание "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Checking Build System
       FinalizeBuildStatus:
         Файл "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" удаляется.
         Обращение к "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
     2>Сборка проекта "C:\libs_build\build_test\ZERO_CHECK.vcxproj" завершена (целевые объекты по умолчанию).
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" (1) выполняет сборку "C:\libs_build\build_test\test.vcxproj" (3) в узле 1 (целевые объекты по умолчанию).
     3>PrepareForBuild:
         Создание каталога "test.dir\Release\".
         Создание каталога "C:\libs_build\build_test\Release\".
         Создание каталога "test.dir\Release\test.tlog\".
       InitializeBuildStatus:
         Создание "test.dir\Release\test.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Building Custom Rule C:/libs_build/test/CMakeLists.txt
       ClCompile:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\CL.exe /c /nologo /W3 /WX- /diagnostics:column /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D "CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise
         /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"test.dir\Release\\" /Fd"test.dir\Release\vc142.pdb" /Gd /TP /errorReport:queue C:\libs_build\test\main.cpp
         main.cpp
       Link:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\link.exe /ERRORREPORT:QUEUE /OUT:"C:\libs_build\build_test\Release\test.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.l
         ib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"C:/libs_build/build_test/Release/test.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/libs_build/b
         uild_test/Release/test.lib" /MACHINE:X64  /machine:x64 test.dir\Release\main.obj
         test.vcxproj -> C:\libs_build\build_test\Release\test.exe
       FinalizeBuildStatus:
         Файл "test.dir\Release\test.tlog\unsuccessfulbuild" удаляется.
         Обращение к "test.dir\Release\test.tlog\test.lastbuildstate".
     3>Сборка проекта "C:\libs_build\build_test\test.vcxproj" завершена (целевые объекты по умолчанию).
     1>PrepareForBuild:
         Создание каталога "x64\release\ALL_BUILD\".
         Создание каталога "x64\release\ALL_BUILD\ALL_BUILD.tlog\".
       InitializeBuildStatus:
         Создание "x64\release\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Building Custom Rule C:/libs_build/test/CMakeLists.txt
       FinalizeBuildStatus:
         Файл "x64\release\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild" удаляется.
         Обращение к "x64\release\ALL_BUILD\ALL_BUILD.tlog\ALL_BUILD.lastbuildstate".
     1>Сборка проекта "C:\libs_build\build_test\ALL_BUILD.vcxproj" завершена (целевые объекты по умолчанию).

Сборка успешно завершена.
    Предупреждений: 0
    Ошибок: 0

Прошло времени 00:00:00.98

При этом CMakeLists.txt самый дефолтный:

cmake_minimum_required(VERSION 3.5)

project(test LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(test main.cpp)

Ну и main.cpp:

#include <iostream>

int main() {
  int i = NULL;
  int j{};
  
  if (j == NULL) {
    // Do something
  }
}

Исправление rumgot, :

Вывод диагностических сообщений включен по крайней мере в gcc и clang. В MSVC (19.28.29333.0) у меня ничего не выводится (у меня Qt Creator + MSVC (собираю через CMake), если собирать через консоль PowerShell и ручной вызов CMake, то тоже ничего не выводится). В любом случае, неужели ты будешь утверждать, что лучше заморачиваться с флагами, вместо того чтобы иметь нормальный nullptr?

Вот сборка в PowerShell:

PS C:\libs_build> cd .\build_test\
PS C:\libs_build\build_test> ls
PS C:\libs_build\build_test> cmake -G "Visual Studio 16 2019" -A x64 ..\test\
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.17763.
-- The CXX compiler identification is MSVC 19.28.29333.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/libs_build/build_test
PS C:\libs_build\build_test> cmake --build . --config release --verbose --parallel 4
Microsoft (R) Build Engine версии 16.8.1+bd2ea1e3c для .NET Framework
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

Сборка начата 30.11.2020 20:15:56.
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" в узле 1 (целевые объекты по умолчанию).
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" (1) выполняет сборку "C:\libs_build\build_test\ZERO_CHECK.vcxproj" (2) в узле 1 (целевые объекты по умолчанию).
     2>PrepareForBuild:
         Создание каталога "x64\release\ZERO_CHECK\".
         Создание каталога "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\".
       InitializeBuildStatus:
         Создание "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Checking Build System
       FinalizeBuildStatus:
         Файл "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" удаляется.
         Обращение к "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
     2>Сборка проекта "C:\libs_build\build_test\ZERO_CHECK.vcxproj" завершена (целевые объекты по умолчанию).
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" (1) выполняет сборку "C:\libs_build\build_test\test.vcxproj" (3) в узле 1 (целевые объекты по умолчанию).
     3>PrepareForBuild:
         Создание каталога "test.dir\Release\".
         Создание каталога "C:\libs_build\build_test\Release\".
         Создание каталога "test.dir\Release\test.tlog\".
       InitializeBuildStatus:
         Создание "test.dir\Release\test.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Building Custom Rule C:/libs_build/test/CMakeLists.txt
       ClCompile:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\CL.exe /c /nologo /W3 /WX- /diagnostics:column /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D "CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise
         /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"test.dir\Release\\" /Fd"test.dir\Release\vc142.pdb" /Gd /TP /errorReport:queue C:\libs_build\test\main.cpp
         main.cpp
       Link:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\link.exe /ERRORREPORT:QUEUE /OUT:"C:\libs_build\build_test\Release\test.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.l
         ib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"C:/libs_build/build_test/Release/test.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/libs_build/b
         uild_test/Release/test.lib" /MACHINE:X64  /machine:x64 test.dir\Release\main.obj
         test.vcxproj -> C:\libs_build\build_test\Release\test.exe
       FinalizeBuildStatus:
         Файл "test.dir\Release\test.tlog\unsuccessfulbuild" удаляется.
         Обращение к "test.dir\Release\test.tlog\test.lastbuildstate".
     3>Сборка проекта "C:\libs_build\build_test\test.vcxproj" завершена (целевые объекты по умолчанию).
     1>PrepareForBuild:
         Создание каталога "x64\release\ALL_BUILD\".
         Создание каталога "x64\release\ALL_BUILD\ALL_BUILD.tlog\".
       InitializeBuildStatus:
         Создание "x64\release\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Building Custom Rule C:/libs_build/test/CMakeLists.txt
       FinalizeBuildStatus:
         Файл "x64\release\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild" удаляется.
         Обращение к "x64\release\ALL_BUILD\ALL_BUILD.tlog\ALL_BUILD.lastbuildstate".
     1>Сборка проекта "C:\libs_build\build_test\ALL_BUILD.vcxproj" завершена (целевые объекты по умолчанию).

Сборка успешно завершена.
    Предупреждений: 0
    Ошибок: 0

Прошло времени 00:00:00.98

При этом CMakeLists.txt самый дефолтный:

cmake_minimum_required(VERSION 3.5)

project(test LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(test main.cpp)

Ну и main.cpp:

#include <iostream>

int main() {
  int i = NULL;
  int j{};
  
  if (j == NULL) {
    // Do something
  }
}

Исправление rumgot, :

Вывод диагностических сообщений включен по крайней мере в gcc и clang. В MSVC (19.28.29333.0) у меня ничего не выводится (у меня Qt Creator + MSVC (собираю через CMake), если собирать через консоль PowerShell и ручной вызов CMake, то тоже ничего не выводится). В любом случае, неужели ты будешь утверждать, что лучше заморачиваться с флагами, вместо того чтобы иметь нормальный nullptr?

Вот сборка в PowerShell:

PS C:\libs_build> cd .\build_test\
PS C:\libs_build\build_test> ls
PS C:\libs_build\build_test> cmake -G "Visual Studio 16 2019" -A x64 ..\test\
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.17763.
-- The CXX compiler identification is MSVC 19.28.29333.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/libs_build/build_test
PS C:\libs_build\build_test> cmake --build . --config release --verbose --parallel 4
Microsoft (R) Build Engine версии 16.8.1+bd2ea1e3c для .NET Framework
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

Сборка начата 30.11.2020 20:15:56.
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" в узле 1 (целевые объекты по умолчанию).
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" (1) выполняет сборку "C:\libs_build\build_test\ZERO_CHECK.vcxproj" (2) в узле 1 (целевые объекты по умолчанию).
     2>PrepareForBuild:
         Создание каталога "x64\release\ZERO_CHECK\".
         Создание каталога "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\".
       InitializeBuildStatus:
         Создание "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Checking Build System
       FinalizeBuildStatus:
         Файл "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" удаляется.
         Обращение к "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
     2>Сборка проекта "C:\libs_build\build_test\ZERO_CHECK.vcxproj" завершена (целевые объекты по умолчанию).
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" (1) выполняет сборку "C:\libs_build\build_test\test.vcxproj" (3) в узле 1 (целевые объекты по умолчанию).
     3>PrepareForBuild:
         Создание каталога "test.dir\Release\".
         Создание каталога "C:\libs_build\build_test\Release\".
         Создание каталога "test.dir\Release\test.tlog\".
       InitializeBuildStatus:
         Создание "test.dir\Release\test.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Building Custom Rule C:/libs_build/test/CMakeLists.txt
       ClCompile:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\CL.exe /c /nologo /W3 /WX- /diagnostics:column /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D "CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise
         /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"test.dir\Release\\" /Fd"test.dir\Release\vc142.pdb" /Gd /TP /errorReport:queue C:\libs_build\test\main.cpp
         main.cpp
       Link:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\link.exe /ERRORREPORT:QUEUE /OUT:"C:\libs_build\build_test\Release\test.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.l
         ib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"C:/libs_build/build_test/Release/test.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/libs_build/b
         uild_test/Release/test.lib" /MACHINE:X64  /machine:x64 test.dir\Release\main.obj
         test.vcxproj -> C:\libs_build\build_test\Release\test.exe
       FinalizeBuildStatus:
         Файл "test.dir\Release\test.tlog\unsuccessfulbuild" удаляется.
         Обращение к "test.dir\Release\test.tlog\test.lastbuildstate".
     3>Сборка проекта "C:\libs_build\build_test\test.vcxproj" завершена (целевые объекты по умолчанию).
     1>PrepareForBuild:
         Создание каталога "x64\release\ALL_BUILD\".
         Создание каталога "x64\release\ALL_BUILD\ALL_BUILD.tlog\".
       InitializeBuildStatus:
         Создание "x64\release\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Building Custom Rule C:/libs_build/test/CMakeLists.txt
       FinalizeBuildStatus:
         Файл "x64\release\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild" удаляется.
         Обращение к "x64\release\ALL_BUILD\ALL_BUILD.tlog\ALL_BUILD.lastbuildstate".
     1>Сборка проекта "C:\libs_build\build_test\ALL_BUILD.vcxproj" завершена (целевые объекты по умолчанию).

Сборка успешно завершена.
    Предупреждений: 0
    Ошибок: 0

Прошло времени 00:00:00.98

При этом CMakeLists.txt самый дефолтный:

cmake_minimum_required(VERSION 3.5)

project(test LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_executable(test main.cpp)

Исправление rumgot, :

Вывод диагностических сообщений включен по крайней мере в gcc и clang. В MSVC (19.28.29333.0) у меня ничего не выводится (у меня Qt Creator + MSVC (собираю через CMake), если собирать через консоль PowerShell и ручной вызов CMake, то тоже ничего не выводится). В любом случае, неужели ты будешь утверждать, что лучше заморачиваться с флагами, вместо того чтобы иметь нормальный nullptr?

Вот сборка в PowerShell:

PS C:\libs_build> cd .\build_test\
PS C:\libs_build\build_test> ls
PS C:\libs_build\build_test> cmake -G "Visual Studio 16 2019" -A x64 ..\test\
-- Selecting Windows SDK version 10.0.18362.0 to target Windows 10.0.17763.
-- The CXX compiler identification is MSVC 19.28.29333.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29333/bin/Hostx64/x64/cl.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: C:/libs_build/build_test
PS C:\libs_build\build_test> cmake --build . --config release --verbose --parallel 4
Microsoft (R) Build Engine версии 16.8.1+bd2ea1e3c для .NET Framework
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

Сборка начата 30.11.2020 20:15:56.
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" в узле 1 (целевые объекты по умолчанию).
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" (1) выполняет сборку "C:\libs_build\build_test\ZERO_CHECK.vcxproj" (2) в узле 1 (целевые объекты по умолчанию).
     2>PrepareForBuild:
         Создание каталога "x64\release\ZERO_CHECK\".
         Создание каталога "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\".
       InitializeBuildStatus:
         Создание "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Checking Build System
       FinalizeBuildStatus:
         Файл "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" удаляется.
         Обращение к "x64\release\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
     2>Сборка проекта "C:\libs_build\build_test\ZERO_CHECK.vcxproj" завершена (целевые объекты по умолчанию).
     1>Проект "C:\libs_build\build_test\ALL_BUILD.vcxproj" (1) выполняет сборку "C:\libs_build\build_test\test.vcxproj" (3) в узле 1 (целевые объекты по умолчанию).
     3>PrepareForBuild:
         Создание каталога "test.dir\Release\".
         Создание каталога "C:\libs_build\build_test\Release\".
         Создание каталога "test.dir\Release\test.tlog\".
       InitializeBuildStatus:
         Создание "test.dir\Release\test.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Building Custom Rule C:/libs_build/test/CMakeLists.txt
       ClCompile:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\CL.exe /c /nologo /W3 /WX- /diagnostics:column /O2 /Ob2 /D WIN32 /D _WINDOWS /D NDEBUG /D "CMAKE_INTDIR=\"Release\"" /D _MBCS /Gm- /EHsc /MD /GS /fp:precise
         /Zc:wchar_t /Zc:forScope /Zc:inline /GR /Fo"test.dir\Release\\" /Fd"test.dir\Release\vc142.pdb" /Gd /TP /errorReport:queue C:\libs_build\test\main.cpp
         main.cpp
       Link:
         C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\bin\HostX64\x64\link.exe /ERRORREPORT:QUEUE /OUT:"C:\libs_build\build_test\Release\test.exe" /INCREMENTAL:NO /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib shell32.l
         ib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /PDB:"C:/libs_build/build_test/Release/test.pdb" /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:/libs_build/b
         uild_test/Release/test.lib" /MACHINE:X64  /machine:x64 test.dir\Release\main.obj
         test.vcxproj -> C:\libs_build\build_test\Release\test.exe
       FinalizeBuildStatus:
         Файл "test.dir\Release\test.tlog\unsuccessfulbuild" удаляется.
         Обращение к "test.dir\Release\test.tlog\test.lastbuildstate".
     3>Сборка проекта "C:\libs_build\build_test\test.vcxproj" завершена (целевые объекты по умолчанию).
     1>PrepareForBuild:
         Создание каталога "x64\release\ALL_BUILD\".
         Создание каталога "x64\release\ALL_BUILD\ALL_BUILD.tlog\".
       InitializeBuildStatus:
         Создание "x64\release\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild", так как было задано "AlwaysCreate".
       CustomBuild:
         Building Custom Rule C:/libs_build/test/CMakeLists.txt
       FinalizeBuildStatus:
         Файл "x64\release\ALL_BUILD\ALL_BUILD.tlog\unsuccessfulbuild" удаляется.
         Обращение к "x64\release\ALL_BUILD\ALL_BUILD.tlog\ALL_BUILD.lastbuildstate".
     1>Сборка проекта "C:\libs_build\build_test\ALL_BUILD.vcxproj" завершена (целевые объекты по умолчанию).

Сборка успешно завершена.
    Предупреждений: 0
    Ошибок: 0

Прошло времени 00:00:00.98

Исправление rumgot, :

Вывод диагностических сообщений включен по крайней мере в gcc и clang. В MSVC (19.28.29333.0) у меня ничего не выводится (у меня Qt Creator + MSVC (собираю через CMake), если собирать через консоль PowerShell и ручной вызов CMake, то тоже ничего не выводится). В любом случае, неужели ты будешь утверждать, что лучше заморачиваться с флагами, вместо того чтобы иметь нормальный nullptr?

Исправление rumgot, :

Вывод диагностических сообщений включен по крайней мере в gcc и clang. В MSVC (19.28.29333.0) у меня ничего не выводится (у меня Qt Creator + MSVC, если собирать через консоль PowerShell и ручной вызов CMake, то тоже ничего не выводится).

Исходная версия rumgot, :

Вывод диагностических сообщений включен по крайней мере в gcc и clang. В MSVC (19.28.29333.0) у меня ничего не выводится.