2011-07-25 8 views
2

ライブラリファイル(〜/ libなど)のために独自の非標準パスを作成すると、ldconfig -n ~/libを実行することができます。このディレクトリは、ldがnon-standardを検索するために使用する場所のリスト標準ライブラリ。GCC/G ++に相当するldconfig -n

GCC/G ++(または適切なgcc/++設定マネージャ)のスイッチがありますは、インクルードディレクトリに関連しています。私は-Iフラグに非標準のディレクトリが含まれていることを認識していますが、私のプロジェクトをすべて調べる必要はなく、makefileにすべての形式の魔法を加えて動作させる必要があります。 (もちろん)他のどのシステムにも移植できないので、このコードは(コラボレーターなどで)ビルドされているので、makefileの編集は実際にはオプションではありません....

編集:私の無知はこの解決策を前提としていますgcc/++のみです。しかし、私はどんな解決策にも満足しています。だから、もしldconfigの何らかの特性を乱用する方法があれば、私はそれに逆らっていません!

答えて

2

通常は、man gccとします。 Makefileを変更したい場合は-L <path>フラグが必要です。 ldconfigに似た解決策もあります - LIBRARY_PATH envを使用してください。変数。

同様に、ヘッダファイルを検索するディレクトリのリストを宣言するCPLUS_INCLUDE_PATHC_INCLUDE_PATHCPATHがあります。

+0

申し訳ありませんが、私の質問には明らかに少しの説明が必要でしょう。 -Lはリンクごとに使用する必要があります(したがって、複数の開発者が共有するmakefileに追加することはできません)。同じことが-Iのために起こります。それが私が代替案を探している理由です。 –

+0

@Ben Stott - 私は答えを更新しました – Drakosha

0

gcc/g ++ のソースコードを変更して別のファイルとしてincludeのファイルでこれを行うことはできません。再コンパイルしてください。

alias gcc="gcc -Idir1 -Idir2 -Idir3" 
alias g++="g++ -Idir1 -Idir2 -Idir3" 

またはアドホックスクリプトを作成:(bashのを使用している場合)

最善の選択肢は次のようにあなたの的環境にaliasを追加しています。