SFML库环境配置

bilibili

下载第三方库

  • 以SFML库为例,到官网SFML (sfml-dev.org)下载对应编译器架构的(如gcc是32位的就安装32位的SFML)对应压缩包
  • 解压到指定目录下

添加环境配置

c_cpp_properties.json

一般你配置好vscode中的标准c++环境之后,都会有这个文件,c_cpp_properties.json是用来语法检查和代码提示等功能的,

所以我们要加上SFML库的头文件(我这里安装了mysqlsmfl)

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                  "C:\\Program Files\\MySQL\\MySQL Server 8.0\\include" //(添加)此处为mysql安装路径下的include文件夹路径,
                  ,"D:/SFML-2.6.1-windows-gcc-13.1.0-mingw-64-bit/SFML-2.6.1/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.22621.0",
            "compilerPath": "D:\\Develop software\\visualStudio\\VC\\Tools\\MSVC\\14.39.33519\\bin\\Hostx64\\x64\\cl.exe",
            // "compilerPath": "D://Develop software//development environment//mingw64//bin//g++.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-msvc-x64"
            // "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}
task.json

这个文件中包含需要的头文件路径链接指令,以及所需要的动态或者静态库,少一步骤就会出错,需要什么库的名字可以去查找安装的sfml/bin目录下有什么库的名称

{
  "tasks": [
    {
      "type": "cppbuild",
      "label": "C/C++: g++.exe 生成活动文件",
      "command": "D:\\Develop software\\development environment\\mingw64\\bin\\g++.exe",
      "args": [
        "-fdiagnostics-color=always",
        "-g",
        // "${file}", //当前文件  // "*",
        "*.cpp", //当前文件夹所有的.cpp文件都编译
        "-o",
        // "${fileDirname}\\${fileBasenameNoExtension}.exe"
        "${fileDirname}\\output.exe", //生成的可执行程序名字
        "-I",
        "C:\\Program Files\\MySQL\\MySQL Server 8.0\\include", // mysql的头文件路径
        "-I",
        "D:/SFML-2.6.1-windows-gcc-13.1.0-mingw-64-bit/SFML-2.6.1/include", // SFML的头文件路径
        "-L",
        "D:/SFML-2.6.1-windows-gcc-13.1.0-mingw-64-bit/SFML-2.6.1/lib", // SFML的lib路径
        "-L",
        "C:\\Program Files\\MySQL\\MySQL Server 8.0\\lib", // lib
        "-llibmysql",
        "-lsfml-graphics", // SFML图形库
        "-lsfml-window", // SFML窗口库
        "-lsfml-system", // SFML系统库
        "-lsfml-network" // SFML网络库
      ],
      "options": {
        "cwd": "${fileDirname}"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "调试器生成的任务。"
    }
  ],
  "version": "2.0.0"
}

拷贝dll文件

bin目录下的所有(需要用到的)dll文件拷贝到你的项目下,使它能被找到(也可以修改环境变量,或者放到system32目录下)

在VisualStudio中配置

类似步骤,都是添加include头文件,链接指令,动态库文件

  • 解决方案管理器 -> 右键属性 -> C/C++ -> 附加包含目录 -> 添加include路径
  • 链接器 -> 常规 -> 附加库目录 -> 添加lib路径
  • 链接器 -> 输入 -> 附加依赖项 -> 编辑 -> 添加如下代码
sfml-graphics-d.lib
sfml-window-d.lib
sfml-system-d.lib
sfml-audio-d.lib
opengl32.lib
freetype.lib
winmm.lib
gdi32.lib
  • 最后把sfml/bin目录下的动态链接库复制到项目路径(和main.cpp同处一个目录)下
### 配置 VSCode 使用 SFML 和 MinGW #### 创建项目结构并初始化 `.vscode` 文件夹 当配置 SFML 开发环境时,在项目的根目录会自动生成一个名为`.vscode` 的文件夹,并创建 `c_cpp_properties.json` 文件用于指定 IntelliSense 设置和其他编译选项[^1]。 #### 编辑 c_cpp_properties.json 为了使 IntelliSense 正确工作以及提供代码补全功能,需编辑 `c_cpp_properties.json` 文件来指明头文件的位置以及其他必要的参数: ```json { "configurations": [ { "name": "Win64", "includePath": [ "${workspaceFolder}/**", "D:\\SFML\\SFML-2.6.1\\include" ], "defines": ["_DEBUG", "UNICODE", "_UNICODE"], "windowsSdkVersion": "10.0.18362.0", "compilerPath": "D:/MinGW/MinGW/bin/g++.exe", "cStandard": "c17", "cppStandard": "c++17", "intelliSenseMode": "gcc-x64" } ], "version": 4 } ``` 此 JSON 片段定义了 Windows 平台下的配置项,其中包含了包含路径、预处理器宏定义、使用的 GCC 编译器位置等重要信息[^3]。 #### 更新系统环境变量 为了让命令行工具能够找到所需的和可执行程序,需要更新系统的 PATH 环境变量以加入 MinGW 和 SFML 的 bin 路径。此外还需要新增两个特定于 C/C++ 头文件和静态链接搜索路径的环境变量——CPLUS_INCLUDE_PATH 和 LIBRARY_PATH: - **PATH**: 添加 MinGW 的 bin 文件夹路径 (例如 D:\MinGW\bin) 和 SFML 的 bin 文件夹路径。 - **CPLUS_INCLUDE_PATH**: 设定为 SFML include 文件夹路径。 - **LIBRARY_PATH**: 设定为 SFML lib 文件夹路径[^2]。 完成上述操作之后,重启计算机使得新的环境变量生效,这样就可以顺利地在 VSCode 中利用 MinGW 来构建基于 SFML 的应用程序了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0zxm

祝大家天天开心

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值