gpt4 book ai didi

c++ - 生成文件不工作

转载 作者:行者123 更新时间:2023-11-28 07:53:31 26 4
gpt4 key购买 nike

我正在尝试让我的 makefile 工作,但它给了我一些错误,我无法让它工作。

 OBJS = Kmeans.o cluster.o data.o 
CC = g++
DEBUG = -g
CFLAGS = -Wall -c $(DEBUG)
LFLAGS = -Wall $(DEBUG)

clustering : $(OBJS)
$(CC) $(LFLAGS) $(OBJS) -o clustering

Kmeans.o : Kmeans.h Kmeans.cpp cluster.h data.h
$(CC) $(CFLAGS) Kmeans.cpp

cluster.o : cluster.h cluster.cpp data.h
$(CC) $(CFLAGS) cluster.cpp

data.o : data.h data.cpp
$(CC) $(CFLAGS) data.cpp

clean:
\rm *.o *~ clustering

文件是:

clustering.cpp -> #include "Kmeans.h"
Kmeans.cpp -> #include "Kmeans.h"
Kmeans.h -> #include "cluster.h"
cluster.cpp -> #include "cluster.h"
cluster.h -> #include "data.h"
data.cpp -> #include "data.h"

我做错了什么?

编辑:对不起,我忘了包括错误:

Kmeans.o: In function `Kmeans::read(char*)':
Kmeans.cpp:(.text+0x53c): undefined reference to `Data::~Data()'
cluster.o: In function `Cluster::Cluster(int, int, int)':
cluster.cpp:(.text+0x45): undefined reference to `Data::~Data()'
cluster.cpp:(.text+0x80): undefined reference to `Data::~Data()'
cluster.o: In function `Cluster::Cluster()':
cluster.cpp:(.text+0xca): undefined reference to `Data::~Data()'
cluster.cpp:(.text+0x110): undefined reference to `Data::~Data()'
cluster.o: In function `Cluster::setData(int, int, int)':
cluster.cpp:(.text+0x158): undefined reference to `Data::~Data()'
collect2: ld devolvió el estado de salida 1
make: *** [clustering] Error 1

谢谢!

我编译了每个文件,问题在最后一行:

g++    -c -o clustering.o clustering.cpp
g++ -c -o data.o data.cpp
g++ -c -o Kmeans.o Kmeans.cpp
g++ -c -o cluster.o cluster.cpp
g++ -o clustering clustering.o data.o Kmeans.o cluster.o <----

最佳答案

似乎您在 data.h 中有 Data::~Data 声明,但您在任何地方都没有定义。

只需从 header 中删除声明或添加空定义,它是一个虚拟析构函数。

关于c++ - 生成文件不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13229078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com