如何在Visual Studio Code中向链接器添加命令
VSCode编译C++添加GDI链接参数配置方法
已有tasks.json的配置方式
你当前贴出的tasks.json参数配置顺序是正确的,链接参数-lgdiplus、-lgdi32放在源文件、输出参数之后的写法符合GCC的链接规则,保存文件后重新编译即可生效。
如果还没有生成tasks.json,按以下步骤操作:
完整配置步骤
- 打开要编译的C++代码文件,按下
Ctrl+Shift+P调出命令面板 - 输入
Tasks: Configure Default Build Task,选择对应g++编译器选项,VSCode会自动在工作区生成.vscode/tasks.json文件 - 找到文件中的
args字段,在参数列表末尾追加-lgdiplus和-lgdi32,修改后完整的args字段如下:
"args": [ "-fdiagnostics-color=always", "-g", "${file}", "-o", "${fileDirname}\\${fileBasenameNoExtension}.exe", "-lgdiplus", "-lgdi32" ],
- 保存
tasks.json后按下Ctrl+Shift+B执行编译,新增的链接参数就会生效
异常排查
- 如果你使用的是MSVC编译器,不支持
-l前缀的链接参数,需要将末尾参数替换为"/link","gdiplus.lib","gdi32.lib" - 如果你使用CMake管理项目,不需要修改tasks.json,直接在
CMakeLists.txt中添加target_link_libraries(项目名 gdiplus gdi32)即可 - 不要调整链接参数的位置,放在源文件之前会导致链接器无法识别符号,依旧触发未定义引用报错
内容的提问来源于stack exchange,提问作者user16984278
相关产品推荐
相关产品推荐

