我有我的主C ++类main.cpp
...
#include "fs.h"
int main(void)
{
return minit();
}
fs.h
:
#ifndef __FS__
#define __FS__
int minit (void);
#endif
和fs.o
(带minit()进入)文件已经是一个目标文件,使用g++
编译而没有-g。
这是我的makefile:
myfs: main.o fs.o
g++ -o myfs -m32 -Wall fs.o main.o
main.o: main.cpp fs.h
g++ -o main.o -m32 main.cpp
每当我尝试链接所有内容时,链接器都会在main.cpp
中提到minit();
未定义的引用它可能是什么?
答案 0 :(得分:0)
你已经在实际实现中定义了一个名为minit()的函数 - 这就是你遇到这个问题的原因。
你需要实际编写函数minit():
int minit(void){ 返回0; }
例如......
答案 1 :(得分:0)
您应该指向编译器,该函数在别处定义。尝试更改此声明:
int minit (void);
到这个
extern int minit (void);