0

私はc++を初めて使用し、ヘッダーファイルの作成に問題があります。私が得ている正確なエラーは

obj.obj:エラーLNK2019:未解決の外部シンボル "float * __cdecl getVertices(class std :: basic_string、class std :: allocator>、int、float *)"(?getVertices @@ YAPAMV?$ basic_string @ DU?$ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@ HPAM @ Z)関数 "struct ObjModel __cdecl importObj(void)"(?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++固有のことを知らないことが問題である可能性があります。

4

2 に答える 2

3

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

于 2012-04-17T17:45:40.817 に答える
2

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

于 2012-04-17T20:02:35.640 に答える