糖小鱼儿 2021-12-14 14:41 采纳率: 100%
浏览 23
已结题

使用Linux多线程的报错,

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

img

  • 写回答

1条回答 默认 最新

  • 关注

    这是在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)
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 12月14日

悬赏问题

  • ¥15 echarts绘制图表
  • ¥15 根据企业名称 对照两个文件 样本筛选/匹配
  • ¥15 Linux环境下CA证书更新问题
  • ¥15 sqlserver语句提取结果以外数据
  • ¥60 微信小程序如何上传QQ聊天文件
  • ¥300 开发的系统遭到无良商家的破解,请问如何防止再次发生,并追回损失
  • ¥15 java代码写在记事本上后在cmd上运行时无报错但又没生成文件
  • ¥15 关于#python#的问题:在跑ldsc数据整理的时候一直抱这种错误,要么--out识别不了参数,要么--merge-alleles识别不了参数(操作系统-linux)
  • ¥15 PPOCRLabel
  • ¥15 混合键合键合机对准标识