当前位置: 技术问答>linux和unix
g++编译问题
来源: 互联网 发布时间:2016-04-05
本文导语: 我写了三个文件: 分别为: MyCls.h MyCls.cc Main.cc ////////MyCls.h/////////// class MyCls { public : int m_old; MyCls(int age,int old); void printOld(); }; ////////MyCls.cc/////////// #include "MyCls.h" #include "stdio.h" MyCls::MyCls(int old) { m...
我写了三个文件:
分别为: MyCls.h MyCls.cc Main.cc
////////MyCls.h///////////
class MyCls
{
public :
int m_old;
MyCls(int age,int old);
void printOld();
};
////////MyCls.cc///////////
#include "MyCls.h"
#include "stdio.h"
MyCls::MyCls(int old)
{
m_old=old;
}
void MyCls::printOld()
{
printf("old is %d", m_old);
}
////////Main.cc///////////
#include
#include "MyCls.h"
//int main(int argc, char *argv[])
int main(void)
{
MyCls mc(3,4);
printf("i am okn");
}
////////makefile///////////
Main:Main.o MyCls.o
g++ -o Main.o MyCls.o
Main.o:Main.cc MyCls.h
g++ -c Main.cc
MyCls.o:MyCls.cc MyCls.h
g++ -c MyCls.cc
编译却一直报错:
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
分别为: MyCls.h MyCls.cc Main.cc
////////MyCls.h///////////
class MyCls
{
public :
int m_old;
MyCls(int age,int old);
void printOld();
};
////////MyCls.cc///////////
#include "MyCls.h"
#include "stdio.h"
MyCls::MyCls(int old)
{
m_old=old;
}
void MyCls::printOld()
{
printf("old is %d", m_old);
}
////////Main.cc///////////
#include
#include "MyCls.h"
//int main(int argc, char *argv[])
int main(void)
{
MyCls mc(3,4);
printf("i am okn");
}
////////makefile///////////
Main:Main.o MyCls.o
g++ -o Main.o MyCls.o
Main.o:Main.cc MyCls.h
g++ -c Main.cc
MyCls.o:MyCls.cc MyCls.h
g++ -c MyCls.cc
编译却一直报错:
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
|
帮你顶
|
还有其他错误吧?
|
对,makefile没有写明白
|
Main:Main.o MyCls.o
g++ Main.o MyCls.o -o Main
Main.o:Main.cc MyCls.h
g++ -c Main.cc
MyCls.o:MyCls.cc MyCls.h
g++ -c MyCls.cc
把makefile这样写,试试