【问题标题】:How to add a command to the linker in Visual Studio Code如何在 Visual Studio Code 中向链接器添加命令
【发布时间】:2021-12-02 11:47:07
【问题描述】:

我尝试在 Visual Studio Code 中编译我的 C++ 代码,但每次都收到以下错误:

对...的未定义引用

我必须将-lgdiplus-lgdi32 添加到我的编译器/链接器选项中。如何在 Visual Studio 中执行此操作?

这是我的task.json 文件的一部分:

"args": [
    "-fdiagnostics-color=always",
    "-g",
    "${file}",
    "-o",
    "${fileDirname}\\${fileBasenameNoExtension}.exe",
    "-lgdiplus",
    "-lgdi32"
],

【问题讨论】:

  • 这应该放在链接器选项中,而不是编译器选项中。
  • @Jarod42 是的,我该怎么做?

标签: c++ visual-studio-code linker


【解决方案1】:

假设你在 linux 下(否则进程只显示不同的路径/编译器) 在 .vscode 文件夹下,应该有一个task.json 文件。 你应该找到类似的东西:

"command": "/usr/bin/g++",
"args": [
    "-fdiagnostics-color=always",
    "-g",
    "${file}",
    "-o",
    "${fileDirname}/${fileBasenameNoExtension}"
 ],

将你的论点添加到论点列表中,享受吧

如果您的工作区中没有类似名称的文件,也没有.vscode 文件夹,请单击F5 并按照说明进行操作,这将为您生成必要的文件。

【讨论】:

  • 我做到了,但仍然无法编译
  • 现在和以前的错误是什么?在写问题之前您尝试了哪些命令?
  • 还是一样:未定义的引用和collect2.exe:错误:ld返回1退出状态
  • 我发布了我的 task.json 文件
  • 我建议你稍微改进一下你的问题,这样我们就可以更好地了解环境:你使用的命令,minimale working example,和stacktrace
猜你喜欢
  • 1970-01-01
  • 2022-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-11
  • 2016-11-19
  • 1970-01-01
相关资源
最近更新 更多