2つのバージョン間でのg++の暗黙的なLIBRARY_PATH変更に問題があります(g++ -v
この情報を提供します)。LIBRARY_PATHを、カスタムライブラリがある単一のローカルディレクトリに設定しました。ただし、g ++の1つのバージョン(バージョンAと呼びましょう)のみが正しくリンクされ、もう1つのバージョン(バージョンB)はシステムデフォルトにリンクされていることが判明しました。これは望ましくありませんでした。どうやら、ディレクトリの順序がまちまちで、私の仕様が適切に尊重されていませんでした。これは、 gcc4.2以降で/usr / libの前に使用されなくなったLIBRARY_PATHと同様の問題ですか?これらのバージョンではありませんが。
どういうわけか、私は2つの異なるバージョンのスペックファイルを見るというアイデアに思いつきました(から入手しましたg++ -dumpspecs > specs
)。次に、他のバージョン(A)のspecsファイルでg ++のバージョン(B;予期しない変更を生成していた)を実行しても、その変更が生成されるかどうかを確認しようとしました。安心して、LIBRARY_PATHは正確に次のようになりました。期待していた(バージョンAに一致)!
次の行で発生するこの奇妙な変更の場所をさらに追跡しました。
. !m64 !m32;.:../lib64 m64 !m32;.:../lib32 !m64 m32;
LIBRARY_PATHの設定/変更に影響を与えているように見える以外に、残念ながらこの行が何を意味するのかわかりません。したがって、この行を「解読」して、その意味を説明して、要件に応じて変更できるようにしてください。
ありがとうございました!