几乎完全忘记了如何编写C++。无论如何,这就是问题所在。

我正在尝试加载我自己编写的.cpp文件中定义的类。

在主要功能中:

... ...
 #include "loader.h"
... ...
 model load_model("TechnologyEnterpriseFacility_Day_Gregor/
               TechnologyEnterpriseFacility_Gregor.model");

头文件如下所示:
 #ifndef LOADER_H_
 #define LOADER_H_

 class model
 {
   public:
    int textures [];
    float vertices[][3];
    float triangles[][13];
    model(const char*); // constructor
 };

 #endif /* LOADER_H_ */

这是.cpp文件:
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <typeinfo>
#include "loader.h"

using namespace std;

model::model(const char* filename)
{
    ... ...

编译主函数时,出现错误消息:
gcc -o glrender glrender.cpp -lglut
/tmp/cc3sWIgb.o: In function `__static_initialization_and_destruction_0(int, int)':
glrender.cpp:(.text+0x11b): undefined reference to `model::model(char const*)'
collect2: ld returned 1 exit status

欢迎评论和想法,谢谢。

最佳答案

您是否忘了在编译行中插入model.cpp

gcc -o glrender glrender.cpp model.cpp -lglut

关于c++ - C++编译问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2128496/

10-11 17:08
查看更多