C++20 与 asio参考资料
Talking Async Ep1: Why C++20 is the Awesomest Language for Network ProgrammingTalking Async Ep2: Cancellation in depth
GitHub - chriskohlhoff/talking-async: Example programs for Talking Async videos
asio C++ library - Browse /asio at SourceForge.net
vscode配置C++20,通用配置参考:
新手VSCode配置C++20 - AndreaDO - 博客园
修改.vscode的配置
《tasks.json 》配置
{
"tasks": [
{
"type": "cppbuild", // C++ 构建任务
"label": "C/C++: g++.exe build active file", // 任务的名称
"command": "D:\\src\\mingw64\\bin\\g++.exe", // g++ 路径
"args": [
"-fdiagnostics-color=always", // 使编译器的输出信息带有颜色,便于阅读
"-std=c++20", // 指定 C++ 标准为 C++20
"-Wall", // 启用所有警告
"-Wextra", // 启用额外的警告
"-fno-inline", // 禁用内联
"-IXXX/asio-1.19.2/include", // 添加路径,用于查找头文件,asio-1.19.2
"-g", // 生成调试信息,便于后续调试。
"-DASIO_ENABLE_HANDLER_TRACKING", // 预处理器宏,启用Asio的Handler Tracking
"${file}", // 当前活动文件的路径,在执行时自动替换为当前正在编辑的文件
"-lwsock32", // 链接 Windows socket 32 库
"-lws2_32", // 链接 Windows 2 socket 32 库
"-o", // 指定输出文件的名称
"${fileDirname}\\${fileBasenameNoExtension}.exe", // 生成的可执行文件的路径和名称
],
"options": {
"cwd": "${fileDirname}" // 任务执行时的工作目录,即当前文件所在的目录
},
"problemMatcher": [ // 用于解析编译器的输出,将错误和警告信息与代码中的行号关联
"$gcc" // 适用于 GCC 编译器的输出格式
],
"group": {
"kind": "build",
"isDefault": true // 将此任务设为默认构建任务
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}
《c_cpp_properties.json》配置
{
"configurations": [
{
"name": "Win32", // 配置的名称,Windows 平台
"includePath": [ // 用于指定头文件搜索路径。
"${default}", // 系统的标准库路径和其他已配置的路径
"XXX/asio-1.19.2/include" // Asio 库的头文件
],
"defines": [ // 包含各种宏定义
"_DEBUG", // 表示编译器在调试模式下工作
"UNICODE", // 启用 Unicode 支持
"_UNICODE" // 确保 API 调用使用 Unicode 字符集
],
"windowsSdkVersion": "10.0.22621.0" // Windows SDK 的版本号
}
],
"version": 4 // 配置文件的版本号
}
问题与解决
1、找不到asio.hpp not find asio.hpp
step_0.cpp:4:10: fatal error: asio.hpp: No such file or directory
4 | #include <asio.hpp>
| ^~~~~~~~~~
compilation terminated.
在《tasks.json 》"args"字段增加"-IXXX/asio-1.19.2/include"
在《c_cpp_properties.json》"includePath"字段增加"XXX/asio-1.19.2/include"
2、undefined reference to `__imp_XXX'
在《tasks.json 》"args"字段增加"-lwsock32","-lws2_32"
4万+

被折叠的 条评论
为什么被折叠?



