2016-12-29 8 views
0

struct aiMatrix4x4 *やその他のaiStructsを使用する関数を作成しようとすると、上記のエラーが発生します。理由はわかりません。私のモデルは適切に機能しません。いくつかの奇妙な理由のためのパラメータとして、上記の構造体で、ここで私が質問のコードですが、私はソースからコンパイル最新assimpを使用しています...Assimp elaborated typeはtypedefを指します

#include <math.h> 
#include <assimp/cimport.h> 
#include <assimp/scene.h> 
#include <assimp/postprocess.h> 
#include <assimp/matrix4x4.h> 

// A Bit Later in the Code 

static inline void mat4x4_loadassimp(mat4x4 M, struct aiMatrix4x4* a); 

を私もそれを分離することができますし、それはまだ私にエラーを与えます。..コンパイラとしてのclangの使用。

+0

は、私はあなたがより多くのプロジェクトのDEV https://github.com/assimp/assimp/issues/ことを助けることができません1126。しかし、 'struct aiMatrix4x4 * a 'には問題はありません。私は' unknow mat4x4'しか取得しません。 – Stargateur

+0

'typedef'はC++でのみ利用可能です。 – Stargateur

+0

この[mcve]で再現できないため、実際のコードを投稿する必要があります。 – Stargateur

答えて

0

docによる。 aiMatrix4x4はC++のtypedefです。

したがって、struct aiMatrix4x4をC++で記述することはできません。

static inline void mat4x4_loadassimp(mat4x4 M, aiMatrix4x4 *a); 

あなたがCでコンパイルする場合、あなたが書く必要があります。

static inline void mat4x4_loadassimp(mat4x4 M, struct aiMatrix4x4 *a); 
+0

'inline'はコードの意味を変更しますwrt 1つの定義ルール。おそらく、関数をインライン化するかどうかの決定について話していることでしょう。 –

+0

@ M.Mあなたは私にいくつかの文書をリンクできますか?あなたが何を取っているのか分かりません。 – Stargateur

+1

[こちら](http://stackoverflow.com/questions/6312597/is-inline-without-static-or-externeever-useful-in-c99)と[ここ](http://stackoverflow.com)を参照してください。/questions/216510/extern-inline) –

関連する問題