main.cpp :(。text + 0x15):未定义引用`tree :: tree()'

时间:2017-05-14 11:16:06

标签: c++

C ++ TDM-GCC 4.8.1 64位
错误:main.cpp :(。text + 0x15):未定义引用`tree :: tree()'


的main.cpp

#include "tree.h"
#include <iostream>
using namespace std;

int main(){
    tree tree1;
    return 0;
}

tree.h中

#ifndef TREE_H
#define TREE_H
using namespace std;

class tree{
    public:
        tree();

};

#endif

tree.cpp

#include "tree.h"
#include <iostream>
using namespace std;

tree::tree(){
    cout << "Hello" << endl;
}

1 个答案:

答案 0 :(得分:1)

从终端编译代码如下:

fmincon

执行你的程序,如下:

Georgioss-MacBook-Pro:~ gsamaras$ g++ -Wall -o main main.cpp tree.cpp

请阅读Linking files in g++中的链接。

顺便说一句,我将代码更改为首先包含标准库Georgioss-MacBook-Pro:~ gsamaras$ ./main Hello 然后再包含头文件,所以现在代码如下所示:

iostream

就这样,我摆脱了这个警告:

#include <iostream>
#include "tree.h"

如果您愿意,可以在Ordering of using namespace std; and includes?中阅读更多内容,但我认为这对您来说是高级