当前位置: 技术问答>linux和unix
LinuxC++ 一个超级简单的问题。。。小弟略菜,求助攻。。
来源: 互联网 发布时间:2017-05-28
本文导语: 代码有三个文件:main.cpp A.h A.cpp A.h #ifndef A_H_INCLUDED #define A_H_INCLUDED #include class A { private: int num; public : A(); }; #endif //A_H_INCLUDED A.cpp #include"A.h" A::A() { num=1; printf("A_NUM:%dn",num); } mian.cpp #include "A.h" int main(...
代码有三个文件:main.cpp A.h A.cpp
A.h
#ifndef A_H_INCLUDED
#define A_H_INCLUDED
#include
class A
{
private:
int num;
public :
A();
};
#endif //A_H_INCLUDED
A.cpp
#include"A.h"
A::A()
{
num=1;
printf("A_NUM:%dn",num);
}
mian.cpp
#include "A.h"
int main()
{
A*a=new A();
return 0;
}
Makefile
main: main.o A.o
gcc -o main main.o A.o
main.o: main.cpp A.h
gcc -c main.cpp
A.o: A.cpp A.h
gcc -c A.cpp
在make之后,出现了这样的情况。。。
gcc -c main.cpp
gcc -o main main.o A.o
main.o:在函数‘main’中:
main.cpp:(.text+0x11):对‘operator new(unsigned long)’未定义的引用
main.cpp:(.text+0x32):对‘operator delete(void*)’未定义的引用
main.o:(.eh_frame+0x13):对‘__gxx_personality_v0’未定义的引用
collect2: error: ld returned 1 exit status
make: *** [main] 错误 1
话说,小弟实在看不懂这是怎么一回事了。。求助攻。。。
A.h
#ifndef A_H_INCLUDED
#define A_H_INCLUDED
#include
class A
{
private:
int num;
public :
A();
};
#endif //A_H_INCLUDED
A.cpp
#include"A.h"
A::A()
{
num=1;
printf("A_NUM:%dn",num);
}
mian.cpp
#include "A.h"
int main()
{
A*a=new A();
return 0;
}
Makefile
main: main.o A.o
gcc -o main main.o A.o
main.o: main.cpp A.h
gcc -c main.cpp
A.o: A.cpp A.h
gcc -c A.cpp
在make之后,出现了这样的情况。。。
gcc -c main.cpp
gcc -o main main.o A.o
main.o:在函数‘main’中:
main.cpp:(.text+0x11):对‘operator new(unsigned long)’未定义的引用
main.cpp:(.text+0x32):对‘operator delete(void*)’未定义的引用
main.o:(.eh_frame+0x13):对‘__gxx_personality_v0’未定义的引用
collect2: error: ld returned 1 exit status
make: *** [main] 错误 1
话说,小弟实在看不懂这是怎么一回事了。。求助攻。。。
|
你这可是cpp呀,怎么不用g++来编译呢?
|
|
g++
|
gcc编译?我是不是看帖子的姿势不对啊,为什么不是g++?
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。