私は最近、C++ を使用していくつかのグラフィカル アプリケーションを作成するために OpenGL を学習するプロセスを開始しました。OpenGL SDK をインストールしました。その上でプロジェクトを適切にビルドできます。ただし、OpenGL SDK サイトには、freeglut などの SDK の要素を使用して新しいプロジェクトを作成する方法に関する情報がほとんどまたはまったくありません。 lua ファイルを作成しますが、私は lua を知りません。また、Lua ファイルを使用して新しいプロジェクトを作成する方法もわかりません。それで、私を助けてくれませんか?VS2010 を使用していますが、プロジェクトを作成してから premake で何かを行う必要がありますか? または、ある種の lua ファイルを作成し、その上で premake を使用しますか? 私は非常に迷っており、OpenGL を本当に始めたいと思っているので、どんな助けも素晴らしいでしょう。これについては、いろいろと実験しましたが、
1 に答える
Premake4 に慣れていない場合は、Visual Studio プロジェクトを直接使用することを強くお勧めします。これで問題が発生した場合は、質問を修正して、正確に行ったことと、ビルドしようとしたときに Visual Studio が表示した正確なエラー メッセージを修正してください。以下を含める必要があります。
- インクルード パス。完全な絶対ディレクトリ名 (プロジェクトおよびソリューション ファイルのパスを含む) を含む、インクルード パスの完全なセット。
- 静的ライブラリの検索パス。
- 含める静的ライブラリ。
- あなたが構築している定義。
注: これらのいずれかがわからない場合は、C++ プロジェクトがどのように機能するかをやめて、さらに多くのことを学ぶ必要があります。コンパイラがインクルード パス、静的ライブラリ、#defines などをどのように処理するかを理解する必要があります。
Premake4 に慣れていなくても、SDK で Premake4 を使用したい場合は、まずSDKなしで Premake4 に慣れる必要があります。premake4.lua スクリプト全体を差し込んで、数行を変更するだけで、すべてが魔法のように機能します (それが必要な場合は、SDK のサンプルがどのように構築されているかを確認してください。具体的には)。でも、そんなことをしたら、あなたは何も学べません。コードがどのように機能するかを少しも理解せずに、コードをコピーして貼り付けるだけです。examples/premake4.lua
その代わりに、 Premake4 の使い方を学ぶために必要な手順を説明します。
ステップ 1: Hello World、Premake スタイル。Hello World アプリケーションである単一の .cpp ファイルを作成する必要があります。main
「Hello World」をコンソールに出力する標準機能があります。それは簡単な部分です。
難しい部分は Premake4 スクリプトです。Visual Studio プロジェクトを直接作成するのではなく、そのプロジェクトをビルドする Premake4 スクリプトを記述します。
Premake4 のドキュメントでは、最初のソリューションとプロジェクトを作成する手順を説明しています。もちろん、そのプロジェクトにファイルを追加する必要があります。また、デバッグおよびリリース ビルドを作成できるように、構成の使用方法も学習する必要があります。デバッグ ビルドにはシンボルが必要であり、リリース ビルドは最適化する必要があります。
ステップ 2:複数のプロジェクト。ここでは、2 つの .cpp ファイルがあります:test.cpp
とmain.cpp
. にtest.cpp
、何かを出力する関数を配置します。関数はパラメーターなどを取らないでください。では、で定義された関数を呼び出す関数がmain.cpp
必要です。で定義された関数のプロトタイプを持つもあるはずです。main
test.cpp
test.h
test.cpp
ここでの秘訣は、それらを同じ実行可能ファイルにコンパイルしないことです。直接ではありません。test
という名前のプロジェクトとという名前のプロジェクトの 2 つが必要ですmain
。プロジェクトは、test
コンパイルするスタティック ライブラリである必要がありますtest.cpp
。プロジェクトは、main
コンパイルされる実際の実行可能ファイルになりますmain.cpp
。どちらもtest.h
ファイル リストに含める必要があります。
ここでは、解が複数project
の を持つことができることを学習しています。2 つのプロジェクトのファイル リストは異なります。各プロジェクトにはkind
、そのプロジェクトだけのビルドのタイプを決定する個別の があります。test
プロジェクトは である必要がありますがStaticLib
、プロジェクトmain
は である必要がありConsoleApp
ます。
また、リンクコマンドを使用してそれらをリンクする方法を学習する必要があります。main
プロジェクトは を使用しlinks
て指定する必要がありますtest
。test
何かにリンクする必要はありません。
ステップ 3:ディレクトリのマスタリング。
ここでは、手順 2 と同じことを行います。ただし、1 つのことを除いて: puttest.h
をtest.cpp
別のディレクトリ (現在のディレクトリのサブディレクトリ) に置きます。そのディレクトリには、コマンドを使用してメイン ファイルtest.lua
から実行するファイルも必要です。プロジェクトを定義する場所です。コマンドでソリューションを作成した後は、いつでもファイルを呼び出すことができます。premake4.lua
dofile
test.lua
test
dofile
test.lua
solution
main
プロジェクトは、 を見つけるディレクトリを変更する必要があることに注意してくださいtest.h
。includedirs
また、プロジェクトでコマンドを使用して、に含めるヘッダーmain
を検索する場所をコンパイラに指示する必要があります。test.h
main.cpp
ステップ 4: SDK に戻ります。この時点で、Premake4 に十分慣れて、私が指摘した手順を振り返り、それらをよりよく理解できるようになっているはずです。あとは指示通りにやるだけです。スクリプトの最初の行がどうあるべきかを教えてくれたら、それをスクリプトの最初の行にします。それらを配置すると言われている場所にUseLibs
関数を配置します。それがどこに行くのかの例も示しています。UseLibs
と の派手な組み合わせとlinks
考えてくださいincludedirs
。