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