多线程中编译错误

今天写了一个makefile文件,没想到各种坑。先记录下来,慢慢修改

1、最开始版本

CC:= g++
TARGET:= threadpool
INCLUDE:= -I./
LIBS:= -lpthread
# C++语言编译参数
CXXFLAGS:= -std=c++11 -g -Wall -D_REENTRANT
# C预处理参数
# CPPFLAGS:=
OBJECTS:= thread_pool.o main.o
$(TARGET):$(OBJECTS)
        $(CC) -c $(TARGET) $(OBJECTS) $(LIBS)
# $@表示所有目标集
%.o:%.cpp
        $(CC) -c $(CXXFLAGS) $(INCLUDE)$< .o $@
.PHONY:clean
clean:
        -rm -f $(OBJECTS) $(TARGET)

错误提示:

g++: error: .o: 没有那个文件或目录

g++: error: thread_pool.o: 没有那个文件或目录
g++: fatal error: no input files
compilation terminated.
makefile:15: recipe for target 'thread_pool.o' failed

make: *** [thread_pool.o] Error 1

粗心写错了几处,这是修正后的版本:

CC := g++
TARGET := threadpool
INCLUDE := -I./
LIBS := -lpthread
# C++语言编译参数
CXXFLAGS:= -std=c++11 -g -Wall -D_REENTRANT
# C预处理参数
# CPPFLAGS:=
OBJECTS:= thread_pool.o main.o
$(TARGET):$(OBJECTS)
        $(CC) -o $(TARGET) $(OBJECTS) $(LIBS)
# $@表示所有目标集
%.o:%.cpp
        $(CC) -c $(CXXFLAGS) $(INCLUDE) $< -o $@
.PHONY:clean
clean:

        -rm -f $(OBJECTS) $(TARGET)

2、cannot declare variable ‘taskObj’ to be of abstract type ‘CMyTask’

     CMyTask taskObj;

出现这个错一定是子类和父类中的虚函数没有匹配成功,检查函数名字和参数等。而且下面会有错误提示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值