请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

运行不了,直接报错是怎么回事?

==========[ Build | 02.thread_how_to.c | Debug-Visual Studio_64 ]=
“D:\Program Files\JetBrains\CLion 2021.1.2\bin\cmake\win\bin\cmake.exe” --build D:\Users\bsit\CLionProjects\Chapter12\cmake-build-debug-visual-studio_64 --target 02.thread_how_to.c
[ 33%] Building C object CMakeFiles/02.thread_how_to.c.dir/tinycthread/tinycthread.c.obj
tinycthread.c
D:\Windows Kits\10\include\10.0.19041.0\um\winbase.h(9531): warning C5105: 生成“已定义”的宏扩展具有未定义的行为
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(483): error C2054: 在“_Thread_local”之后应输入“(”
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(483): error C2085: “_tinycthread_tss_head”: 不在形参表中
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(483): error C2143: 语法错误: 缺少“;”(在“=”的前面)
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(484): error C2054: 在“_Thread_local”之后应输入“(”
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(484): error C2085: “_tinycthread_tss_tail”: 不在形参表中
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(484): error C2143: 语法错误: 缺少“;”(在“=”的前面)
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(497): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(497): warning C4047: “=”:“TinyCThreadTSSData *”与“int”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(513): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(513): warning C4047: “!=”:“int”与“void *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(514): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(514): error C2223: “->next”的左侧必须指向结构/联合
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(515): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(515): warning C4022: “free”: 指针与实参 1 不匹配
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(516): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(516): warning C4047: “=”:“int”与“TinyCThreadTSSData *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(518): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(518): warning C4047: “=”:“int”与“void *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(519): error C2065: “_tinycthread_tss_tail”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(519): warning C4047: “=”:“int”与“void *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(527): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(527): warning C4047: “!=”:“int”与“void *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(580): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(580): warning C4047: “!=”:“int”与“void *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(654): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(654): warning C4047: “!=”:“int”与“void *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(775): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(775): warning C4047: “”:“TinyCThreadTSSData *”与“int”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(777): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(777): warning C4047: “=”:“int”与“TinyCThreadTSSData *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(781): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(781): warning C4047: “=”:“TinyCThreadTSSData *”与“int”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(791): error C2065: “_tinycthread_tss_tail”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(791): warning C4047: “”:“TinyCThreadTSSData *”与“int”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(793): error C2065: “_tinycthread_tss_tail”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(793): warning C4047: “=”:“int”与“TinyCThreadTSSData *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(835): error C2065: “_tinycthread_tss_tail”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(835): warning C4047: “!=”:“int”与“void *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(837): error C2065: “_tinycthread_tss_tail”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(837): error C2223: “->next”的左侧必须指向结构/联合
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(841): error C2065: “_tinycthread_tss_tail”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(841): warning C4047: “=”:“int”与“TinyCThreadTSSData *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(844): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(844): warning C4047: “”:“int”与“void *”的间接级别不同
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(846): error C2065: “_tinycthread_tss_head”: 未声明的标识符
D:\Users\bsit\CLionProjects\Chapter12\tinycthread\tinycthread.c(846): warning C4047: “=”:“int”与“TinyCThreadTSSData *”的间接级别不同
NMAKE : fatal error U1077: “C:\PROGRA2\MICROS4\2019\COMMUN1\VC\Tools\MSVC\14291.300\bin\Hostx64\x64\cl.exe”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: ““C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\bin\HostX64\x64\nmake.exe””: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: ““C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\bin\HostX64\x64\nmake.exe””: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: ““C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\bin\HostX64\x64\nmake.exe””: 返回代码“0x2”
Stop.

正在回答 回答被采纳积分+3

2回答

bennyhuo 2021-08-02 10:03:15

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037

看样子应该不是版本问题,这个是最新版。

建议同学之间运行我的源码看看是否有问题,如果没有问题,那就说明环境是ok的,同时只需要仔细对照你的工程和我得差异就能找到问题了

0 回复 有任何疑惑可以回复我~
bennyhuo 2021-08-01 21:16:22

看上去 tinythread 没有正确添加到工程里面,截图贴一下你的代码和cmake配置

0 回复 有任何疑惑可以回复我~
  • 提问者 LimitLess_Jing #1
    整个工程是复制你的工程,cmka 配置如下:
    
    
    cmake_minimum_required(VERSION 3.10.2)
    
    get_filename_component(ProjectId ${CMAKE_CURRENT_SOURCE_DIR} NAME)
    string(REPLACE " " "_" ProjectId ${ProjectId})
    project(${ProjectId} C)
    
    set(CMAKE_C_STANDARD 11)
    
    
    include_directories("include")
    include_directories("tinycthread/include")
    
    if (!MSVC)
        set(CMAKE_C_FLAGS "-O3")
    endif ()
    
    file(GLOB files "${CMAKE_CURRENT_SOURCE_DIR}/*.c")
    foreach(file ${files})
        get_filename_component(name ${file} NAME)
        add_executable(${name} ${file} tinycthread/tinycthread.c)
    
        if (UNIX OR Linux)
            target_link_libraries(${name} pthread)
        endif ()
    endforeach()
    回复 有任何疑惑可以回复我~ 2021-08-02 09:31:19
  • bennyhuo 回复 提问者 LimitLess_Jing #2
    如果你直接拿我的工程还报错,那就是你的环境问题,检查你的msvc版本,是不是太低。
    
    如果是复制我的工程,那肯定有细节上的不同之处,截图发出来看看,不然不好分析。你贴的代码格式都错乱了,看着实在令人头疼。
    回复 有任何疑惑可以回复我~ 2021-08-02 09:35:24
  • 提问者 LimitLess_Jing 回复 bennyhuo #3
    这个回复好像不能贴图片,我重新截图提问了
    回复 有任何疑惑可以回复我~ 2021-08-02 09:39:12
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号