簡體   English   中英

Assimp示例給出錯誤

[英]Assimp Sample giving errors

我剛剛獲得了最后一個assimp SDK,並創建了一個項目,我將其鏈接到了corectly(鏈接沒有錯誤)但是我似乎對Sample項目有些麻煩。 更具體的是SimpleOpenGL。 我正在使用C ++結合OpenGL和visual studio 10。

struct aiVector3D scene_min, scene_max, scene_center;

上面的行會產生以下錯誤。

1>main.cpp(25): error C2371: 'aiVector3D' : redefinition; different basic types
1>d:\libraries\assimp--3.0.1270-sdk\include\assimp\vector3.h(124) : see declaration of 'aiVector3D'
1>main.cpp(25): error C2079: 'scene_min' uses undefined struct 'aiVector3D'
1>main.cpp(25): error C2079: 'scene_max' uses undefined struct 'aiVector3D'
1>main.cpp(25): error C2079: 'scene_center' uses undefined struct 'aiVector3D'

還有更多的錯誤,但是如果我在解決這個問題后仍然出現,我會發布它們。

由於評論而編輯

看起來很有效! 日Thnx。 但是你能解釋為什么struct這個詞不會影響C中的程序嗎?

您必須從定義中刪除單詞struct ,因為aiVector3D 在頭文件中的聲明方式不同。

在鏈接頭文件中,您會看到預處理器用於條件編譯的#ifdef __cplusplus行。 這意味着如果您使用C ++編譯器,那么直到下一個#else所有內容都將被編譯到目標文件中。 此代碼告訴我們aiVector3D是aiVector3t<float>的typedef(=其他名稱)。

如果你使用普通的C編譯器,aiVector3D的聲明是

struct aiVector3D {
    float x,y,z;
}

這符合你的定義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM