ACL库的VScode环境配置
一、tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "Build with ACL",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
// 头文件路径(若未在 c_cpp_properties.json 中配置,可额外添加)
"-I/home/skyco2/myCpp/include/acl_cpp",
// 库路径及依赖库
"-L/home/skyco2/myCpp/lib", // lib_acl.a 所在目录
// "-L/home/skyco2/myCpp/lib", // lib_protocol.a 所在目录
// "-L/home/skyco2/myCpp/lib", // lib_acl_cpp.a 所在目录
"-lacl_cpp", // 主库
"-lprotocol", // 依赖库 2
"-lacl", // 依赖库 1
// 静态库需显式链接(Linux)
"-static" // 可选:强制静态链接
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
acl_cpp依赖于protocol,protocol依赖于acl,顺序不可以错;
该文件就是针对g++编译的规则的形式转换:
# 链接静态库
g++ main.cpp -o main -L. -lmath_functions
# 或者链接动态链接库
g++ main.cpp -o main -L. -lmath_functions
二、c_cpp_properties.json:
{
"configurations": [
{
"name": "Linux",
"includePath": [
// "${workspaceFolder}/**",
"/home/skyco2/myCpp/include/acl_cpp"
],
"defines": [],
"compilerPath": "/usr/bin/gcc",
"cStandard": "c17",
"cppStandard": "gnu++17",
"intelliSenseMode": "linux-gcc-x64"
}
],
"version": 4
}
三、ACL的静态库编译方法
参考acl库编译方法
总结
用这个开源库实现网络编程

826

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



