为什么我在c++;使用我的课程? 我用C++编写了一个数学引擎,我创建了3个类(向量,矩阵和四元数)。当我用G++编译我的代码时,我有一个错误,我不知道如何修复它,如果有人能帮助我,它会被赏识的。

为什么我在c++;使用我的课程? 我用C++编写了一个数学引擎,我创建了3个类(向量,矩阵和四元数)。当我用G++编译我的代码时,我有一个错误,我不知道如何修复它,如果有人能帮助我,它会被赏识的。,c++,class,C++,Class,这是我的vector.hpp代码: #include "matrix.hpp" #include "quaternion.hpp" #include <iostream> #include <cmath> namespace helix{ class vector{ public: float x; float y; float z; ...

这是我的vector.hpp代码:

#include "matrix.hpp"
#include "quaternion.hpp"

#include <iostream>
#include <cmath>

namespace helix{
    class vector{
    public:
        float x;
        float y;
        float z;

        ...
        
        vector();
        vector(float x, float y, float z);
        vector(const vector& vec);

        ...
    }
}
如果您需要更多信息,请咨询我!]


[您可以在my GitHub上访问源代码:https://github.com/miishuriinu/game_engine ]

您的
Makefile
仅编译
main.cpp
:它仅按如下方式使用编译器

g++ -std=c++17 src/main.cpp -o bin/pgm -I include -L lib -l glfw.3.3 -l GLEW.2.2.0 -framework OpenGL

您还需要编译并链接
src/math
中的其他cpp文件,因为这些方法是在那里定义的。

链接器找不到函数实现。您是否为构造函数编写了一个实现?包括问题中复制错误所需的完整、最小化的代码,而不是省略或仅通过外部链接提供。旁注:成员变量和函数参数永远不要使用相同的名称:这充其量是一个头痛的问题,一个buglikely@Nina是的,你可以在我的电脑上看到我的代码GitHub@GianPaolo谢谢我在代码中更改了,我怎么做@chi@miishuriinu你应该找到一些“编译和链接”Makefile教程,应该有很多。无论如何,要在没有Makefile的情况下实现这一点,需要运行
g++-cfile1.cpp
g++-cfile2.cpp
。。。编译(这将生成一组.o文件),然后将所有内容链接为
g++-o可执行文件\u name file1.o file2.o…
。生成文件通常使用正确的依赖项复制这些步骤,以避免重新编译未更改的内容。
g++ -std=c++17 src/main.cpp -o bin/pgm -I include -L lib -l glfw.3.3 -l GLEW.2.2.0 -framework OpenGL