古いバージョンの rhel で、かなり古いバージョンの boost を使用して実行してい/usr/include/boost
ます。最新バージョンのブーストをインストールし、適切な-I
オプションを追加しg++
て、ほとんどの場合ブースト ヘッダーの新しいディレクトリに移動するようにしました。問題は、多くのコード ベースが古いバージョンのブースト用に何年も前に書かれており、最新のブーストには存在しないヘッダーが含まれていることです。この場合、 はcpp
喜んで からのヘッダーをインクルードし/usr/include/boost
ます。これを回避する最善の方法は何ですか? 変わらない方がいい#include <boost/file.hpp>
絶滅したヘッダーが何であるかを知っているだけで、絶滅したヘッダーに依存するコードをクリーンアップする必要がなく、喜んでクリーンアップする必要がない限り、別の場所を明示的に指すこと。プロジェクトに取り組んでいる一部のプログラマーは習慣的に絶滅したヘッダーを含んでいる可能性があるため、これは進行中の問題である可能性があるため、一度確認するだけでは十分ではありません.
質問する
1081 次
1 に答える
2
コードがインクルードを探す場所を変更しようとしたり、メイクファイルを変更して他のディレクトリをインクルードしたりする代わりに/usr/include/boost
、新しいものを指すように内容を変更するのはどうですか?
これが私がやろうとしていることです:
- おそらく別の名前に変更
/usr/include/boost
します/usr/include/boost-old
- ポイントするシンボリックリンクを作成します
/usr/include/boost
->/usr/boost/include/boost-old
- アプリをコンパイルして、この構成をテストできるようになりました。古い Boost ライブラリが含まれている必要があります。
- 新しい Boost ライブラリを新しいディレクトリにインストールします。
/usr/include/boost-new
- 新しいライブラリを指すように suymbolic リンクを変更します
/usr/include/boost
->/usr/include/boost-new
于 2012-10-19T19:47:39.007 に答える