我已经安装了raylib,并成功地在VSCode和Notepad++中运行了示例VSCode文件。
我正在尝试执行这个回购raylib-cpp/projects/CMake中的文件
我没有从repo中更改文件,而是直接从VSCoode运行cmake命令。
main.cpp
#include "raylib-cpp.hpp"
int main()
{
int screenWidth = 800;
int screenHeight = 450;
raylib::Color background(RAYWHITE);
raylib::Color textColor(LIGHTGRAY);
raylib::Window w(screenWidth, screenHeight, "raylib [core] example - basic window");
SetTargetFPS(60);
while (!w.ShouldClose())
{
BeginDrawing();
background.ClearBackground();
textColor.DrawText("Success!", 190, 200, 20);
EndDrawing();
}
return 0;
}我试着按照这个github:raylib-CMake-示例中的指令运行命令,但是当我在build文件夹中从github运行make命令时,我也尝试了mingw32-make,但是它没有工作。然后我在CMake中安装了VSCode工具扩展。

并从扩展名运行Build命令,但获得了错误,声明:
inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
我正在使用Visual Studio Build Tools 2017 Release-amd64作为工具包。
当我尝试从raylib运行示例.c文件时,为了使窗口正常工作,我不得不将opengl版本从33更改为21。
我的文件夹看起来如下:

输出日志如下所示:\
[main] Building folder: Game2CPP raylib-cpp-example
[build] Starting build
[proc] Executing command: F:\Code\CPP\Raylib\cmake-3.18.2-win64-x64\bin\cmake.EXE --build f:/Code/CPP/Raylib/TestGames/Game2CPP/build --config Debug --target raylib-cpp-example -- /maxcpucount:6
[build] Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
[build] Copyright (C) Microsoft Corporation. All rights reserved.
[build]
[build] glfw_objlib.vcxproj -> F:\Code\CPP\Raylib\TestGames\Game2CPP\build\_deps\raylib-build\src\external\glfw\src\glfw_objlib.dir\Debug\glfw_objlib.lib
[build] glfw.vcxproj -> F:\Code\CPP\Raylib\TestGames\Game2CPP\build\_deps\raylib-build\src\external\glfw\src\Debug\glfw3.lib
[build] raylib_static.vcxproj -> F:\Code\CPP\Raylib\TestGames\Game2CPP\build\_deps\raylib-build\src\Debug\raylib_static.lib
[build] main.cpp
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(206): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(207): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(208): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(209): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(210): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(211): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(212): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(213): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(214): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(215): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(216): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(217): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(218): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(219): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(220): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(221): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(222): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(223): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(224): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(225): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(226): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(227): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(228): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(229): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(230): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[build] f:\code\cpp\raylib\testgames\game2cpp\build\_deps\raylib-cpp-src\include\./Color.hpp(231): error C7525: inline variables require at least '/std:c++17' [F:\Code\CPP\Raylib\TestGames\Game2CPP\build\raylib-cpp-example.vcxproj]
[cmakefileapi-parser] Code model version (2.1) of cmake-file-api is unexpected. Expecting (2.0). IntelliSense configuration may be incorrect.
[cmakefileapi-parser] Code model version (2.1) of cmake-file-api is unexpected. Expecting (2.0). IntelliSense configuration may be incorrect.
[build] Build finished with exit code 1发布于 2020-09-07 06:56:00
我可以看到,有一个问题已经被报道为https://github.com/RobLoach/raylib-cpp/issues/51。我猜作者的默认C++编译器标准设置为17,因此他的机器上没有问题。然而,你落后了一步。正如您的编译器所建议的,内联变量在C++17之后就可用了。看起来您使用的是一些较旧的标准(但不确定是哪个标准)。不确定哪个是visual studio的cpp编译器的默认版本。
您可以通过这样的C++为您的项目设置CMake标准:
set_property(TARGET tgt PROPERTY CXX_STANDARD 11) 考虑到这个库似乎是“标头专用的”,您可以为您的可执行文件将CXX_STANDARD设置为17。但是,如果该raylib库有一些对象,则必须在https://github.com/RobLoach/raylib-cpp/blob/master/projects/CMake/CMakeLists.txt中将raylib-cpp-example目标的raylib-cpp-example设置为17。
https://stackoverflow.com/questions/63770747
复制相似问题