我是新來的c + +和我有一些麻煩製作頭文件。我得到確切的錯誤是標題和鏈接器錯誤的問題(新的C++)
obj.obj:錯誤LNK2019:無法解析的外部符號 「浮動* __cdecl getVertices(類的std :: basic_string的,一流的std ::分配器>,整型,浮點*)」( (void)「(?)中引用的?getVertices @@ YAPAMV?$ basic_string @ DU?$ char_traits @ D @ std @@ V?$ allocator @ D @ 2 @@ std @@ HPAM @ Z)在函數」struct ObjModel __cdecl importObj 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++具體的事情。
你的cpp文件是什麼樣子的?這個錯誤表明你的'getVertices'函數的定義與頭部聲明的簽名不匹配 – 2012-04-17 17:45:30
就是這樣,我錯誤地實現了getVertices。我發誓我在張貼之前校對了一會兒,儘管看起來我沒有。 – popctrl 2012-04-17 17:49:58