使用Linux多线程的报错,

使用Linux多线程的报错,加上#define HAVE_STRUCT_TIMESPEC这句话后,就报了这个错误,有人可以解答一下吗,谢谢!

img

这是在windows下用visual studio编译的代码吧,windows下不识别pthread_create这些函数的。
pthread_create 和 pthread_exit这是linux C的函数,windows下不识别的。
linux代码需要写makefile编译,或者用gcc 编译


下面是一个makefile文件的模板(linux系统下,在你的工程目录下,新建一个makefile文件,把下面的代码贴进去,修改几个地方后,保存,然后在终端中输入makefile回车,即可对代码进行编译)

#编译器LINUX
CXX=g++
#编译动态库
CXXDL= -g -lpthread $(LIB)
COMPILE=-c -g
#编译目标文件
CXXFLAGS=-g $(INCLUDE)  -fPIC
#头文件搜索路径  ---这里可能需要添加你的头文件目录
INCLUDE=-I./ -I/data/include 
#动态库  --这里添加依赖的动态库
LIB=-L/data/lib -lnettrans 

#目标文件,所有的cpp文件都写在这里
OBJ_FILES=send.o


#生成可执行文件,改成你想要的程序名
TARGET=./send

$(TARGET):$(OBJ_FILES)
    @echo "Link the $@ starting..."
    $(CXX) -o $(TARGET) $(OBJ_FILES) $(CXXDL)
    @echo "Link the $@ done."    
$OBJ_FILES:%.o:%.cpp
    $(CXX) $< -o $@ $(COMPILE) -I$./
clean:
    rm $(OBJ_FILES) $(TARGET)