他のOSG構成チュートリアルを読むのをやめてください、最も完全なものはここにあります!-VisualStudio2017 + QT5.14.2 + OSG3.6.4のダウンロードとコンパイル

このチュートリアルを読む前に、まず環境がVS2017QT5.14.2OSG3.6.4
このチュートリアルを読む前に、まず環境がVS2017QT5.14.2OSG3.6.4
このチュートリアルを読む前に、まず環境がVS2017QT5.14.2OSG3.6.4
このチュートリアルを読む前に、まず環境がVS2017QT5.14.2OSG3.6.4
さて、大事なことは4回言われています。以下は、この記事で使用されているすべてのソフトウェアのダウンロードリンクと、コレクションのダウンロードアドレスです。

ダウンロード

VS2017ダウンロードアドレス

VS2017

QT5.14.2ダウンロードアドレス

QT 5.14.2

OSG3.6.4ダウンロードアドレス

OSG3.6.4ソースコード
OSG3.6.4対応するサードパーティライブラリ
オプションのOSG3.6.4データパッケージ

CMAKEダウンロードリンク

CMAKE(クリックして直接ダウンロード)

ネットディスクアドレス

コレクションパッケージのダウンロード

テキストの始まり

1ソフトウェアのインストール

1.1 VS2017のインストール

VS 2017は、プロフェッショナルバージョンを使用するのが最適です。これは、VS 2017の作成者がプロフェッショナルバージョンを使用しているため、コミュニティバージョンに問題があるかどうかわからないため、VS2017のプロフェッショナルバージョンをインストールすることをお勧めします。
VS 2017 Professional Editionのインストールプロセスについてはここでは説明しませんでしたが、ここで注意する必要があります
。VS2017をインストールした後、win10コントロールパネル-プログラム-アンインストールWindows 10ソフトウェア開発キットにあります。ポップアップインターフェイスで変更を選択し、をクリックしますデバッガツール
この手順は、後でコンパイラを選択するときにQTがMSVC2017コンパイラを自動的に検出するためのものです。

1.2QTのインストール5.14.2

QTのインストールについては何も言うことはありません。インストール内容を選択するときにすべてをチェックするだけです。これは間違いなく正しいです。

1.3CMAKEのインストール

CMAKEのインストールについては何も言うことはありません。次のステップです。インストール後、デスクトップにcmakeショートカットが作成され、後で使用するときにこのショートカットを直接開くことができます。

2OSGをコンパイルします

このステップは最も難しいです。多くの人がこのステップで問題を抱えているので、注意してこのチュートリアルに厳密に従ってください!
このステップは最も難しいです。多くの人がこのステップで問題を抱えているので、注意してこのチュートリアルに厳密に従ってください!
このステップは最も難しいです。多くの人がこのステップで問題を抱えているので、注意してこのチュートリアルに厳密に従ってください!
QTでOSGを使用する場合は、最初にOSGソースコードをコンパイルする必要があります。異なるコンパイラによって生成されたLIBライブラリはユニバーサルではない場合があります。QTでは、OSGはOSGソースコードのコンパイルによって生成されたlibライブラリをインポートすることによって使用されるため、コンパイラの選択は非常に重要です。
QTで一般的に使用されているコンパイラは、MSVC 2015、MSVC 2017、MinGWなどです。著者もMinGWでOSGをコンパイルしようとしましたが、さまざまな理由で使用できませんでした。したがって、最終的にMSVC2017が選択されました。
コンパイルプロセスは、次のステップに分かれています。

2.1OSGおよびOSGサードパーティライブラリの解凍

OSGソースコードとサードパーティライブラリをダウンロードした後、解凍します。ここに画像の説明を挿入します
図に示すように、作成者はDドライブにOSGソースコード圧縮パッケージとサードパーティライブラリ圧縮パッケージを含むOSGフォルダを作成しました。解凍後、このディレクトリにも配置されます。

2.2CMakeソフトウェアを使用してVSプロジェクトを生成する

次に、OSGソースコードフォルダを開きます。このディレクトリにCMakeLists.txtファイルがあります。ファイルを開き、次のコードスニペットを追加します。

set(DESIRED_QT_VERSION "5" CACHE STRING "")
set(CMAKE_PREFIX_PATH "D:/Qt/5.14.2/msvc2017_64" CACHE PATH "")

作成者のCMakeLists.txtファイルは次のとおりです。
ここに画像の説明を挿入します
これらの2行のコードを追加した、CMakeソフトウェアを開きます。ソフトウェアオープニングのスクリーンショットは次のとおりです
ここに画像の説明を挿入します
。OSGソースコードフォルダーの下のCMakeLists.txtをCmakeソフトウェアに直接ドラッグすると、結果は次のように
ここに画像の説明を挿入します
なります。VSプロジェクトファイルが生成されるフォルダーを変更します。作成者は次のとおりです。次のようになり
ここに画像の説明を挿入します
ます。CMakeのこれら2つのフォルダーがセットアップされます。構成ボタンをクリックすると、次の図に示すように、コンパイラーを選択するためのウィンドウがポップアップ表示されます。
ここに画像の説明を挿入します
これら2つは正しく選択する必要があります!、次に[完了]をクリックすると、次のインターフェイスが表示されます。
ここに画像の説明を挿入します
上記の設定をすべて設定した後、もう一度[構成]をクリックすると、次のようにインターフェイスにまだ多くの赤が表示されます。
ここに画像の説明を挿入します
これらの赤について心配する必要はありません。続行します。 [構成]をクリックすると、これらの赤いものが消え、[図の操作]をクリックし
ここに画像の説明を挿入します
ます。[構成]をクリックした後、赤いオプションはありません。この時点で、[生成]ボタンをクリックします。次の図のようになります。
ここに画像の説明を挿入します
この手順が終了したら、OSGフォルダーに戻り、VSプロジェクトファイルを生成するために選択したフォルダーを確認します。ここでの作者はOSGSourceCode_BUILD_2NDです。
コンパイル後にVSプロジェクトファイルが生成されるフォルダー
図に示すように、このファイルでOpenSceneGraph.slnをダブルクリックして開き、インストールされているVS2017を開きます。次のインターフェイスがVS2017に表示されます。
ここに画像の説明を挿入します
これはVSプロジェクト全体です。その後、最も遅いステップが到着しました。

2.3 OSGLIBライブラリをコンパイルして生成する

次の図に示すように、ステップバイステップで実行します。

  1. ソリューションを右クリックして、バッチ生成を選択します。
    ここに画像の説明を挿入します
  2. ポップアップインターフェイスで、次の2つの項目を確認します。
    ここに画像の説明を挿入します
    [生成]をクリックすると、長いコンパイルが開始されます。このプロセスの長さはマシンの構成によって異なり、作成者は基本的に2時間以上コンパイルします。

このステップが終了すると、このチュートリアルはほぼ終了します。

3OSGが利用可能かどうかをテストします

QTを開き、新しいプロジェクトを作成し、コンパイラを選択するとき、MSVC 201764ビットを選択してください
次に、必要なlibライブラリをインポートし、次のテストコードを入力します。

#include <QCoreApplication>

#include <osgViewer/Viewer>
#include <osgDB/ReadFile>

using namespace osg;
using namespace osgViewer;
using namespace osgDB;

int main(int argc, char *argv[])
{
    
    
    QCoreApplication a(argc, argv);

    ref_ptr<Viewer> viewer = new Viewer;
    viewer->setSceneData(readNodeFile("D:/OSG/OSGData/cow.osg"));
    return viewer->run();
}

コード内のreadNodeFileのパスを独自のデータのパスに変更します。
実行後、次のインターフェイスが表示され、インストールが成功したことを示します。
ここに画像の説明を挿入します

総括する

OSGのコンパイルプロセスは非常に複雑であり、このチュートリアルに従ってOSGをコンパイルする場合は、読者が注意する必要があります。
しかし、どんなに注意を払っても、コンパイルの失敗を引き起こす原因不明のエラーがいくつかある可能性があります。この時点で慌てる必要はありません。時間をかけてください。それは本当に解決することはできません、私にQQ:805930931を追加してください。(追加しても解決できない場合があります。-.-)
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?
このチュートリアルが問題の解決に役立った場合、波をたどっても大丈夫ですか?

おすすめ

転載: blog.csdn.net/GeomasterYi/article/details/106940761