私は c コンパイラに詳しくありません。端末で gcc または g++ を使用する方法は知っています。
私は持っている
main.c
#include <stdio.h>
int count;
extern void write_extern();
int main()
{
count = 5;
write_extern();
}
support.c
#include <stdio.h>
extern int count;
void write_extern(void)
{
printf("count is %d\n", count);
}
gcc main.c support.c
出力ファイル a.out は正常に動作します
しかし、vscode または code-runner プラグインでデバッグするとエラーが表示されます
/"main アーキテクチャ x86_64 の未定義シンボル: "_write_extern"、参照元: main-217186.o ld の _main: アーキテクチャ x86_64 のシンボルが見つかりませんでした。呼び出しを参照)
私の launch.json と task.json は次のようになります。
"configurations": [
{
"name": "clang build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "lldb",
"preLaunchTask": "clang build active file"
}
]
{
"tasks": [
{
"type": "shell",
"label": "clang build active file",
"command": "/usr/bin/clang",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "/usr/bin"
}
}
],
"version": "2.0.0"
}
これを設定する方法は?