2017-03-27 10 views
0

私はゲームエンジンを作っていますが、壁にぶつかったようです。私は、開発者がファイルを読み込むためのexeとしてゲームエンジンを配布したいと思っています。内部オブジェクトは、次のように保存されている:私は、開発者が欲しいC++外部クラスをロードするexe

class Gameobject 
{ 
    Vector position; 
    virtual void Update(){} 
    virtual void Render(){} 
} 

std::vector<GameObject*> gameobjects; 

だけで行うには

class ClassForGame: public GameObject 
{ 
    void Update(){} 
    void Render(){} 
} 

gameobjects.push_back(new ClassForGame()); 

は、しかし、私は彼らがでこれをやりたいリストに追加しますファイル構造が次のようになるように個別のファイルを作成します。
MyGameEngine.exeGame.cpp

ファイルとそのクラスをロードするにはどうすればよいですか?

私はg ++、Ubuntu、glutを使用しています。これは、外部ライブラリを使用したくない場合に役立ちます。
また、自分のファイルを自分のexeファイルにコンパイルすると、ゲームを配布することができますか?私はそれらが2つの別々の質問であることを理解しています。

+0

詳細このようなプロジェクトを行う前にC++をお読みください。今は、他の人があなたのコードから実際に恩恵を受けるのに十分なことは分かっていないようです。この場合、exeはマシンコードです。ソースファイルはプログラミング言語です。プログラミング言語はコンパイラなしでは何もできません。また、なぜこれをUbuntuにフラグを立てて、exeについて話しましたか? – Aziuth

+0

@Aziuthだから人々が知っているそれは実行可能ファイルです –

答えて

1

エンジンは、実行可能ファイルとは異なり、ライブラリのように配布する必要があります。

+0

ありがとうございます。静的ライブラリまたは動的ライブラリを使用しますか? –

+0

あなたの選択に静的または動的を使用できます。それはあなたのプロジェクトにとってどれが良いかによって異なります。しかし、最初に以下のコメントに示唆するように、それらの違いを理解する必要があります。 – Maksim

0

まず、プロセスのアドレス空間について学ぶ必要があるため、プロセスの仕組みを知ることができます。

私は、開発者が独自のプロジェクトを作成するためにAPIを呼び出すゲームエンジンのSDKを作りたいと思います。

SDKはdllまたはlibとしてリリースすることができるので、それらの違いを理解する必要があります。

関連する問題