だから私は現在小さな学習プロジェクトを進めています。
複数の* .cpp * .hppなどのファイルからコンパイルされたプロジェクト/プログラムがあります。プロジェクト(実際のbin実行可能ファイル)は、Make(CMakeLists.txtが存在する)を使用して構築されました。このプロジェクトは古いRedHat 5 OS 64で実行され、2013年に作成されました。プロジェクト全体を最新のオペレーティングシステム(UbuntuやMint 19.3 64xなど)に移動して再コンパイルする方法を見つけたいと思います。
1.この問題を解決するための最初のステップは何ですか?
2.Makeプロジェクト設定ファイルを「スキャン」し、どのライブラリ、コンポーネント、プログラムが必要かを「確認」する方法はありますか?
三。ldd
実行可能ファイルを実行すると、必要なライブラリが表示されます。
私はプロのプログラマーではありません(アマチュアだけで十分に近いわけではありません)。
答え1
基本的にはldd
良い出発点です。 RHEL 5にすでに存在する場合、yum whatprovides
ldd出力をソフトウェアコンパイルに必要なパッケージのリストに変換するのは非常に簡単です。
直接的な手紙ではなくCMakeList.txt
手紙に注意してください。作成後に実行されます。cmake
make
cmake
Makefile
make
新しいシステムでインストールを開始するcmake
前に決定されたパッケージのリスト。プロジェクトの種類と依存関係によっては、これは簡単でも不可能でもかまいません。プロジェクトでQT3を使用している場合、RHEL7にはQT4しかありません。この依存関係の問題により、プロジェクトファイルを修正する必要があります。
ファイルをコピーして試しcmake .
てくださいmake
。ファイルが見つからないエラーが表示された場合は、必要なパッケージを.h
もう一度yum whatprovides
見つけてください。
頑張ってください。途中でより多くの障害がある可能性があります。 :-)