私は独自の GCC とライブラリを構築し、システムの他の部分に干渉しない/opt/gcc-4.6.2/lib
ような一般的な名前のライブラリにライブラリを配置しました。libstdc++
これは、ライブラリの検索パスを手動で指定する必要があることを意味します。
$> g++-4.6.2 -L/opt/gcc-4.6.2/lib input.cpp
プロジェクトを CMake でビルドしようとすると、CMake にそのライブラリを検索するように指示する方法がわかりません。ドキュメントCMAKE_LIBRARY_PATH
には、 Makefile の生成に使用する行に設定したuse と書かれています。
$> cmake .. -DCMAKE_CXX_COMPILER=g++-4.6.2 \
-DCMAKE_LIBRARY_PATH=/opt/gcc-4.6.2/lib
ただし、これは単純なプログラムのコンパイル テストでは失敗します。
# blah blah blah...
/usr/local/bin/g++-4.6.2
CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec
-rdynamic
/usr/bin/ld: cannot find -lstdc++
# blah blah blah...
-L/opt/gcc-4.6.2/lib
テストコンパイルのためにCMakeを発行させるために必要なブードゥーマジックを見つけることができないようです(プロジェクトがビルドされた後CMAKE_LIBRARY_PATH
に機能することはわかっています)。CMake に別のライブラリ パスを使用させてテスト実行可能ファイルをリンクさせるにはどうすればよいですか?