下载第三方库
- 以SFML库为例,到官网SFML (sfml-dev.org)下载对应编译器架构的(如gcc是32位的就安装32位的SFML)对应压缩包
- 解压到指定目录下
添加环境配置
c_cpp_properties.json
一般你配置好vscode中的标准c++环境之后,都会有这个文件,c_cpp_properties.json
是用来语法检查和代码提示等功能的,
所以我们要加上SFML库的头文件(我这里安装了mysql
和smfl
)
{
"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同处一个目录)下