仮想マシンの問題は、Windowsディレクトリをマウントコンパイラ

この問題を解決するプロセスを覚えて、ちょうどのLinuxの知識から見てください。

問題はこれで、同社のサーバーコンパイラのコードがあり問題ありませんし、多くの場合、コードを渡す感じるサーバーに私は、独自の仮想マシン上でビルド環境をセットアップしたい少しトラブルが、コンパイルされます。環境を設定した後、コンパイル済みのネイティブウィンドウにコードの下で仮想マシンに直接取り付け介してアクセスが、コンパイル。

問題は、Termios.cppという名前のcppがあるように合理化することができ、そのコードはTermios.hにTermios.hのtermios.hが含まれている。このヘッダファイルが含まれています。Termios.cppとTermios.h独自のコード、termios.hは、私が同じ名前を使用する理由~~~、以前のレガシーコードを私に聞かないで、ファイルシステムのヘッドです。会社のサーバーが正しくコンパイルにTermios.cppでは、マクロの定義を見つけることができない、仮想マシンのコンパイル時のエラーでは、このようなB9600などのマクロを使用しますが、これは。termios.hは以下の:(サーチ会社のサーバーと仮想マシン同様の結果)

ファイルで見つかったファイルを開いて、/usr/include/termios.hされているプログラムの参照を分析することは、この文書では、ビット/ termios.h、すなわち/usr/include/x86_64-linux-gnu/bits/termios.hが含まれています例えばB9600などがマクロ定義など。文書内の仮想マシンの内容も、なぜコンパイラエラーそれ?、/usr/include/termios.hない含まれている仮想マシン内で最初のポイント容疑者は「qztestは、」このプログラムはヘッダファイルに#エラーを追加することによって、このヘッダファイルが含まれていない印刷内容を決定します。termios.hは他のディレクトリに含まれていますか?GCCの外観は低いパスで検索(検索パスは私の記事を参照https://blog.csdn.net/wuzhidefeng/article/details/76854655を)が、心配しないで、他のディレクトリでも、#エラーを追加「qztest」は、これらのヘッダーが含まれている、そのようなマクロを見つけることができませんでした。GCCコンパイラは、ヘッダファイルを見つけることができない場合でも、最終的に参照するプログラムはどこ最初の文書には、あることを?

便利なコマンドがg ++ -Mコマンド、来ました。G ++ -M Termios.cpp -I ../inc/ -I ../../globalinclude/ -std = C ++ 11で| grepをTERMI別に結果、ヘッダファイルへの最終用途で彼を表示するには、このCPPについてのコンパイル次のように:

結果は、彼が../inc/termios.h見つけ示しているが、これだけのディレクトリTermios.hに、このドキュメントは、termios.hああません。ディレクトリ内で検索LLとファイルが見つからない、それは大文字と小文字を区別しませんgccのですか?不合理なああ。Termios1.hにTermios.hのコピーを試してみて、その後、Termios1.hにTermios.cppに含まれ、再利用がg ++ -Mまだ../inc/termios.hました。termios.hは、#エラー「qztest」プリントアウトを追加する前に、再コンパイルの名前を変更しました。Termios.h termios.hは、自己完結型のように思えます。

そして、単に再コンパイルするコード内で仮想マシン全体をコピーして、エラーがコンパイルに成功し、存在しない、途中でマウントしないでください。

結論:Ubuntuのでは、コードアクセス窓の下にマウントし、GCCのコンパイル時間が(無料の背後にある特定の根深い理由が、その後、下に到達するために)、大文字と小文字を区別しない誤解を招くことができます

レッスン:1、システムファイルや重複した名前だけ同じものの場合には、ファイル名などに従事していない、規制しないファイル命名

           2は、直接的ではないクロスプラットフォームのアクセスファイルにしてみてください、あなたはそれをコピーしてアクセスすることができます

公開された12元の記事 ウォンの賞賛4 ビュー20000 +

おすすめ

転載: blog.csdn.net/wuzhidefeng/article/details/105298654