このトピックの周りには多くの異なる答えがありますが、私の問題はもう少し具体的かもしれないと思います。EclipseのCDTで正しいLinuxヘッダーを使用して意味エラーを投げないようにするにはどうすればいいですか?
私は、組み込みターゲット用のCアプリケーションを構築するためのEclipse(v3.8.1)を使用しています。私はLTIBを使用してターゲットイメージを構築し、LTIB(Freescale i.MXプロセッサ用)が提供するGCCツールチェーンが健全であることを確認できました。ターゲットに「Hello World」アプリケーションを構築して展開することができます。
ここでは、EclipseのターゲットにいくつかのLinuxヘッダーを追加しようとしています。ですから、Eclipseの${LTIB_LOC} = /home/user/ltib
にVARを追加し、インクルードファイルのディレクトリをどこかに追加してください(他の回答の助けを借りて)。
${LTIB_LOC}/rpm/BUILD/linux-2.6.31/include
、ソースコードで、私は私が必要とするヘッダを追加:
#include <linux/types.h>
#include <linux/imx_types.h>
さて、問題は二つあります。まず、共通のヘッダtypes.h
が組み込みのホストディレクトリ(/usr/include/linux
)から取得されていますが、LTIBディレクトリのものを使用したいのです。次に、カスタムi.MXヘッダーimx_types.h
がEclipseディスカバリースキャナーによって見つからないため、コンパイラーがヘッダーとプロジェクトのビルドを見つけることができても、永続的な意味/警告が表示されます。
私は常にターゲットのLinuxヘッダーを使用するようにどのように私は、組み込みのホストディレクトリを取り除くことができ、そしてどのように私は信じられないほど迷惑なセマンティック・エラーを取り除くのですか?
ctrl + clickは、SDKヘッダーの代わりにローカルヘッダーに移動することを意味しますか? – LPs
@LPはい、そうです。 –
プロジェクトプロパティー「C/C++ Build-> Environment'」を変更しましたか? – LPs