No compila el main:undefined reference to main'
No compila el main:undefined reference to main'
我正在用一个类main.c做一个项目,并使用makefile 编译它
Estado.h
#ifndef ESTADO_H
#define ESTADO_H
using namespace std;
#include <string>
class Estado
{
private:
int ident;
bool estInit;
bool estEnd;
public:
Estado();
virtual ~Estado();
Estado(int ident,bool inits,bool ends);
void setIdent(int id);
void setInitS(bool inits);
void setEndS(bool ends);
int getIdent();
bool getInitS();
bool getEndS();
};
#endif // TRANS_H
Estado.c
#include "Estado.h"
Estado::Estado(int ident,bool inits,bool ends)
{
this->ident=ident;
this->estInit=inits;
this->estEnd=ends;
}
void Estado::setIdent(int id){
ident=id;
}
void Estado::setInitS(bool inits){
estInit=inits;
}
void Estado::setEndS(bool ends){
estEnd=ends;
}
int Estado::getIdent(){
return ident;
}
bool Estado::getInitS(){
return estInit;
}
bool Estado::getEndS(){
return estEnd;
}
Main.c
#include <iostream>
#include <vector>
#include"Trans.h"
#include"Estado.h"
using namespace std;
int menu();
void cargarAutomata(int numEstados,int numTrans);
int main()
{
int numEstados,numTrans,opc;
cout<<"tt**************************************tt"<<endl;
cout<<"tt*INGRESO DE PARAMAETROS PARA LA TABLA*tt"<<endl;
cout<<"tt**************************************tt"<<endl;
cout<<"Indica la cantidad de estados"<<endl;
cin>>numEstados;
cout<<"Indica la cantidad de transiciones"<<endl;
cin>>numTrans;
cargarAutomata(numEstados,numTrans);
return 0;
}
void cargarAutomata(int numEstados,int numTrans){
vector<Estado> *states(numEstados,Estado());
}
Makefile
CC=g++ -c
LN=g++
Practica1: Estado.o Trans.o
$(LN) Estado.o Trans.o -o Practica1
transicion.o: Trans.c
$(CC) Trans.c Trans.o
est.o: Estado.c
$(CC) Estado.c Estado.o
出现以下错误
g++-o实践1 Estado.o Trans.o
/usr/lib/gcc/i486-linux-gnu/4.4.5/../../../lib/crt1.o:在函数_start':
(.text+0x18): undefined reference to
main'中collect2:ld返回1退出状态make:*[实践1]错误1
您从未实现过析构函数。将此添加到您的Estado.c文件:
Estado::~Estado {
...
};
生成文件中似乎有错误。请尝试以下makescript。
CC=g++ -c
LN=g++
Practica1: Estado.o Trans.o main.o
$(LN) Estado.o Trans.o main.o -o Practica1
transicion.o: Trans.c
$(CC) Trans.c -o Trans.o
est.o: Estado.c
$(CC) Estado.c -o Estado.o
main.o: main.c
$(CC) main.c -o main.o
相关文章:
- "error: no matching function for call to"构造函数错误
- 为什么随机数生成器不在void函数中随机化数字,而在main函数中随机化
- 代码在main()中运行,但在函数中出现错误
- 调用专用模板时出错"no matching function for call to [...]"
- C++ Singleton - Prevent ::instance() to variable
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- Visual Studio Code "undefined reference to `WinMain@16'"
- 使用 GCC 卸载的 OpenMP 卸载失败,并出现"Ptx assembly aborted due to errors"
- 当我在main中声明了我的2d数组时,为什么我的程序会退出
- 如何解决"invalid conversion from 'char' to 'const char*'"
- QML:修改在不同QML文件(而非main.QML)中定义的子对象的属性
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 不确定要在我的main中放入什么才能使我的代码正常工作
- 为什么我会"undefined reference to main"
- 错误:"Undefined reference to 'main'"
- 测试环形缓冲区实现的"cache not flushed to main memory"
- 我收到错误:"in function main: undefined reference to Fraction::Fraction()"
- GNU 制作问题:"No rule to make target `pjsip.h', needed by `main.o'"
- 需要'return to main menu' C++代码中的功能
- No compila el main:undefined reference to main'