2012-04-17 7 views
0

私はC++を初めて使用しています。ヘッダーファイルを作成する際に問題があります。エラーLNK2019:未解決の外部シンボル "フロート*の__cdeclのgetVertices(クラスのstd ::のbasic_string、クラスのstd ::アロケータ>、int型、フロート*)"(私は取得しています正確なエラーはヘッダーとリンカーエラーに関する問題(C++の新機能)

obj.objです?構造体ObjModel __cdecl importObj(void)で参照されていますか?(?)を参照してください。?getVertices @@ YAPAMV?$ basic_string @ DU?char_traits @ D @ std @@ V?$ allocator @D @ 2 @ std @ importObj @@ YA?AUObjModel @@ XZ)は

私が見ているバグ/ソリューションは、はるかに私が何をやっていることを複雑に思えます。私の見出しは間違っていると思われる。

//obj.h 
#ifndef OBJ_H_INCLUDED 
#define OBJ_H_INCLUDED 

#include <stdio.h> 
#include <stdlib.h> 
#include <string> 
#include <fstream> 
#include <iostream> 
using namespace std; 

struct ObjVertex { 
    float x, y, z; 
}; 

struct ObjTriangle { 
    int Vertex[3]; 
    int Normal[3]; 
}; 


struct ObjModel { 
    int NumVertex, NumNormal, NumTexCoord, NumTriangle; 
    ObjVertex *VertexArray; 
    ObjVertex *NormalArray; 
    ObjTriangle *TriangleArray; 
}; 

//function prototypes 
float* getVertices(string buf, int i, float* ret); 
ObjModel importObj(); 
char* subString(char* buf, int b, int e); 

#endif 

私はCで開始しました++が、私は、JavaとCでの経験を持っているので、それはおそらく、いくつかのC++の特定の事を知らずに私の問題です。

+2

あなたのcppファイルはどのように見えますか?このエラーは、あなたの 'getVertices'関数の定義があなたのヘッダの宣言の署名と一致しないことを示唆しています。 –

+1

それはまさにそれです。私はgetVerticesを間違って実装しました。私は私がしなかったように見えるにもかかわらず、投稿する前にこれをしばらく校正することを誓う。 – popctrl

答えて

3

float* getVertices(string buf, int i, float* ret);の実装がないため、リンカーエラーが発生します。

+0

...ちょうどそのバグが見つかりました。ごめんなさい。 – popctrl

2

getVerticesが宣言されているモジュールをプロジェクトに添付する必要があります。

関連する問題