0

コンパイラが呼び出し時にソースコードを必要なライブラリに接続するように、何らかの形で接続していることを理解しています。

しかし、より技術的なレベルで何が起こっているのか、またはコードを自信を持ってコンパイルするために知っておく必要があることをより適切に言えば.

私は C++ と MinGW を使用しており、Sublime Text 2 のビルド ファイルなどを調査し始めています (これまでほとんど unix または Java + eclipse で学習してきました)。しかし、あなたのパスにコンパイラを追加することの意味がわかりません。

コンパイルしたいフォルダごとに追加する必要がありますか? それともシステム全体ですか?開発環境をセットアップする方法や、他のシステムにコードをデプロイする方法さえ教えられたことはありません。

4

1 に答える 1

1

おそらく、コンパイラにパスとライブラリ パスを含めることを意味します。

  • インクルード パス: コンパイラがヘッダーを探す場所。と
  • ライブラリ パス: コンパイラによって呼び出されたリンカーが、プロジェクトのビルドを完了するためにバイナリ ライブラリを検索します。

その場合は、ここで優しい説明を探してください。基本的に、コンパイラは、オペレーティング システムによって定義されたシンボルや、システム全体にインストールされた他のライブラリを特定の場所で検索します。これらのパスに加えて、独自のプロジェクトで定義されたシンボルの場所をコンパイラに伝える必要があります。

また、コンパイラ自体のインストールまたはそれを使用するためのエディタの構成に関連するものを意味する場合もあります。その場合、コンパイラの実行可能ファイルの場所をビルド システムに伝える必要があります。

基本的に、おそらく起こっていることは、コードに関するリアルタイムのフィードバックを提供できるように、コンパイラがどこにあるかをエディタが知りたがっているということです。コンパイラをシステム パスに追加すると、通常は問題が解決しますが、常にではありません。

詳細: C++ ビルドは、依存関係の決定、前処理、コンパイル、およびリンクを含むかなり複雑なツール チェーンです。そのツール チェーンを自動化するツールがあり、それらのツールは、Eclipse、Visual C++、または Sublime Text 2 などの最新の IDE の機能にラップされています。提供するために使用するツールの場所をエディターに伝える必要がある場合が多くあります。それらのサービスで。

于 2012-11-30T15:02:22.733 に答える