当我尝试编译时对类::函数的未定义引用
undefined reference to class::function when I try to compile
我有三个文件:Main.cpp,Security.h和Security.cpp。
-
我已经在我的头文件中声明了我的类安全性(包括一个函数)。
-
我已经在 Security.cpp 中定义了该函数。
-
我的头文件已包含在 Main.cpp 和 Security.cpp 中。
-
在 Main.cpp 中,我正在创建一个对象,并尝试运行成员函数并不断收到编译错误。
主.cpp
#include<iostream>
#include "Security.h"
using namespace std;
int main()
{
Security S1;
S1.Driver();
}
安全.h
class Security
{private:
public:
void Driver();
};
安全性.cpp
#include<iostream>
#include<fstream>
#include "Security.h"
using namespace std;
void Securtiy::Driver()
{
cout << "Enter a number: ";
int answer;
cin >> answer;
cout << answer;
}
你应该编译这两个文件,因为 Security::D river 的定义在 Security.cpp 中。
最简单的方法是调用单个命令:
g++ Main.cpp Security.cpp
但是,如果要单独编译文件,则必须使用-c
标志将它们编译为中间("对象")格式:
g++ -c Main.cpp
g++ -c Security.cpp
这将为您提供两个对象文件。现在链接它们:
g++ Main.o Security.o
Securtiy
是 Security.cpp 文件中的拼写错误。
相关文章:
- 2个模板化类的非模板友元函数未定义引用错误
- C++:在共享对象中调用抽象基类构造函数/未定义的符号
- 获取线函数未定义错误。无法在字符串中保存可验证的内容
- 链表复制构造函数 |未定义的行为
- 尝试使用 std::函数(未定义的符号)声明模板化类状态时出现链接错误
- 专用纯虚拟模板函数(未定义引用)的另一个问题
- 可视化C++ strtoull 函数未定义
- 绑定C++中的C函数(未定义的引用)
- 函数未定义引用c++
- C++构造函数未定义的引用
- 在同一语句中调用的执行 IO 的函数:未定义或未指定
- 在参数中接受 2 个类的友元函数 - 未定义'Class'
- c++ CreateWindow()函数未定义
- 使用c++中的haskell函数:未定义引用错误
- c++模板变量函数未定义引用
- OpenGL函数未定义glow
- C/ c++未使用的内联函数未定义的引用
- 调用从不兼容类型强制转换的零数据结构的成员函数-未定义
- Cocos2d-x Box2D CContactListener构造函数未定义
- 包括Boost网络库使Windows.h函数未定义