ホームページ > バックエンド開発 > C++ > 複数の C ファイルをコンパイルし、Visual Studio Code にライブラリを統合する方法

複数の C ファイルをコンパイルし、Visual Studio Code にライブラリを統合する方法

Patricia Arquette
リリース: 2024-10-28 20:49:02
オリジナル
1067 人が閲覧しました

How to Compile Multiple C   Files and Integrate Libraries in Visual Studio Code?

Visual Studio Code で複数の C ファイルをコンパイルする

Visual Studio Code を使用して複数の C ファイルをコンパイルする場合、 gコンパイラ。デフォルトでは、 g は選択された cpp ファイルのみをコンパイルし、それに関連付けられている含まれる .h ファイルは除きます。

この問題を解決し、すべてのファイルを正しくコンパイルするには、Visual Studio Code 内でビルド タスク コマンドを調整します。 「g ${file}」を使用する代わりに、ターゲット ファイルを「g ${fileDirname}/**.cpp」に変更します。このディレクティブは、指定されたディレクトリ内のすべての .cpp ファイルをコンパイルするように g に指示します。

次のファイルについて考えてみましょう:

  • a.h:
int func();
ログイン後にコピー
  • a.cpp:
#include <iostream>
#include "a.h"
using namespace std;

int func() {
    return 111;
}
ログイン後にコピー
  • main.cpp:
#include "a.h"
using namespace std;

int main() {
    int b = func();
    cout << b << endl;
}
ログイン後にコピー

ビルド タスクを "g ${fileDirname}/**.cpp" に設定すると、Visual Studio Code は a.cpp と main.cpp の両方を自動的にコンパイルし、「アーキテクチャ x86_64 の未定義のシンボル」エラーを解決します。

ライブラリの統合

FFMpeg などのライブラリを組み込むには、次の手順を追加します。

  1. システムに FFMpeg ライブラリがインストールされていることを確認します。
  2. プロジェクトの新しいフォルダーを作成します。
  3. C ファイルと FFMpeg ヘッダーをプロジェクト フォルダーに配置します。
  4. Visual Studio Code を開いて、tasks.json ファイルを作成します。
  5. FFMpeg インクルード パスとライブラリ パスを含めるようにビルド タスクを構成します。例:
<code class="json">{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "cppbuild",
      "label": "C/C++: g++ build active file",
      "command": "g++",
      "args": [
        "-o",
        "${workspaceFolder}/${fileDirname}/${fileBasenameNoExtension}.exe",
        "${file}",
        "-I",
        "/usr/local/include",
        "-L",
        "/usr/local/lib",
        "-lffmpeg"
      ],
      "problemMatcher": "$gcc"
    }
  ]
}</code>
ログイン後にコピー

この設定は、「/usr/local/include」から FFMpeg ヘッダー ファイルをインクルードし、「/usr/local/」にある FFMpeg ライブラリにリンクするようにコンパイラに指示します。 lib".

これらの手順に従うことで、複数の C ファイルを効果的にコンパイルし、Visual Studio Code に外部ライブラリを統合できます。

以上が複数の C ファイルをコンパイルし、Visual Studio Code にライブラリを統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート