c/c++编译过程中的undefined reference to ****
2016-11-18 22:50
253 查看
一把来说有两种情况:
1.C语言中
主要问题是找不到相关的实现函数,也就是找到了头文件中声明的函数,但是找不到具体的函数实现。这种情况比较少遇到,主要是下边这种情况:
2.c++中:
如果你定义了一个类:
class A
{
public:
A();
~A();
}
但在你的实现文件中没有明确的将构造函数和析构函数进行定义的话,就会出现上边的那种警告,提示找不到引用,所以我们在定义一个类的时候如果不需要去显示构造该对象(构造函数没有具体实现),这种情况下建议:1、可以不要构造函数和析构函数(仅适用于部分虚类,没有数据成员的类);
2、在定义类的时候直接在函数后边加上“{}”;
如下:
class A
{
public:
A(){};
~A(){};
};
一般很多朋友会忘掉析构函数后边的那个{},从而导致该问题,本人遇到过,身边同事也遇到过,所以整理一下分享给大家,如有错误,欢饮大家指正,共同进步~
1.C语言中
主要问题是找不到相关的实现函数,也就是找到了头文件中声明的函数,但是找不到具体的函数实现。这种情况比较少遇到,主要是下边这种情况:
2.c++中:
如果你定义了一个类:
class A
{
public:
A();
~A();
}
但在你的实现文件中没有明确的将构造函数和析构函数进行定义的话,就会出现上边的那种警告,提示找不到引用,所以我们在定义一个类的时候如果不需要去显示构造该对象(构造函数没有具体实现),这种情况下建议:1、可以不要构造函数和析构函数(仅适用于部分虚类,没有数据成员的类);
2、在定义类的时候直接在函数后边加上“{}”;
如下:
class A
{
public:
A(){};
~A(){};
};
一般很多朋友会忘掉析构函数后边的那个{},从而导致该问题,本人遇到过,身边同事也遇到过,所以整理一下分享给大家,如有错误,欢饮大家指正,共同进步~
相关文章推荐
- Linux下编译C++程序遇到错误:undefined reference to `*::*
- C++编译报错: undefined reference to clock_gettime
- Linux下eclipse编译C/C++程序遇到 undefined reference to `pthread_create'的异常解决办法
- ubuntu下 GCC编译程序出现 undefined reference to `std::ios_base::Init::Init()'问题——gcc编译C++代码
- C++ 编译出现undefined reference to `vtable for Class 和 undefined reference to typeinfo for Class
- GCC 编译过程/编译命令详解/静态库与动态链接库/ error:undefined reference to
- 编译C++程序遇到错误:undefined reference to `*::*
- [ c++] cmake 编译时 undefined reference to `std::cout' 错误的解决方案
- Dev-C++编译运行socket程序出现undefined reference to 'XXX@4'等消息
- Linux下编译C++程序遇到错误:undefined reference to '***'
- 编译过程出现undefined reference to
- 使用g++编译C/C++程序,链接时出现undefined reference to错误
- 编译过程中"undefined reference to"问题
- MySQL connector C++在Linux下编译undefined reference to 'get_driver_instance'问题
- Eclipse For C++编译报错 undefined reference to 'WinMain@16'
- 重新编译php又出错了。undefined reference to `php_xx
- register.o: undefined reference to symbol 'gpg_strerror'编译错误的解法
- 编译错误:undefined reference to `__umoddi3'的处理
- ubuntu下 GCC编译程序出现 undefined reference to `std::ios_base::Init::Init()'问题
- gcc undefined reference to '__stack_chk_fail'【操作系统开发编译中遇到的问题】