编译工程“undefined reference to `pthread_create'”
头文件包括#include <pthread.h>,但编译时出现
riscv32-unknown-elf-ld: ohos/libs/libtcp_server.a(tcp_server_demo.o): in function `.L0 ':
tcp_server_demo.c:(.text.TCPServerTask+0xd8): undefined reference to `pthread_create'
请问怎么解决?
求助
赞
收藏 0
回答 2
已解决
相关问题
使用fetch报错,fetch undefined
2283浏览 • 2回复 待解决
DevEco编译教程里的demo工程时,build报错!
6305浏览 • 3回复 待解决
导入HI3861工程之后编译出错
2027浏览 • 0回复 待解决
编译工程总是遇到调用的接口提示未定义
6618浏览 • 2回复 已解决
OpenHarmony2.0有人自己新建工程编译签名hap成功的么
3973浏览 • 1回复 待解决
huawei_liteos_studio编译hello_world工程报错app_demo_upg_verify.o:error
1
1820浏览 • 1回复 待解决
鸿蒙的phone工程能修改为TV或其他的工程么?
2352浏览 • 1回复 待解决
EventRunner 创建新线程的时候 create(boolean isDeposited)...?
3309浏览 • 1回复 待解决
如何配置本地的工程机?
1951浏览 • 1回复 已解决
DevEco Studio打开历史工程报空指针错误
1051浏览 • 1回复 待解决
鸿蒙工程不支持aar本地导入吗?
3143浏览 • 1回复 已解决
DevEco Studio工程同步提示LABEL_VALUE_ERROR
997浏览 • 1回复 已解决
vscode code-2.0 window编译问题-编译时间很长
2522浏览 • 1回复 已解决
helloworld工程已经到最后一步了,还是出现错误
3558浏览 • 3回复 待解决
用DevEco device tool打开源码时,显示不是工程路径
2441浏览 • 1回复 待解决
Device Tool安装过程中提示"Failed to create virtual environment",怎么解决?
5145浏览 • 1回复 待解决
DevEco Studio工程存放文件的目录是否支持中文?
2338浏览 • 1回复 待解决
windows编译提示找不到编译器COULD NOT FIND COMPILER!
2310浏览 • 1回复 待解决
鸿蒙系统的出世,安卓开发工程师有影响吗?
2437浏览 • 2回复 待解决
看不了陈美汝工程师的讲课回放视频
2619浏览 • 2回复 待解决
DevEco Studio的本地模拟器支持C++工程调试吗
1211浏览 • 1回复 待解决
鸿蒙系统如何跳转到工程菜单目录界面?类似下面这个界面
15820浏览 • 1回复 待解决
初次安装DevEco Studio编译报错
1493浏览 • 1回复 待解决
源码编译过程中遇到ffmpeg相关的编译失败问题,怎么破?
7316浏览 • 1回复 待解决
OpenHarmony3.0.1 LTS 如何使用hb编译方式 编译出 softbus_lite
605浏览 • 1回复 已解决
轻量系统的KAL支持cmsis和posix接口,需要在调用模块的BUILD.gn的include_dirs字段添加:
//device/hisilicon/hispark_pegasus/hi3861_adapter/kal/cmsis
//device/hisilicon/hispark_pegasus/hi3861_adapter/kal/posix/include
或者
//kernel/liteos_m/kal/cmsis
//kernel/liteos_m/kal/posix/include
注意路径,在调用模块的源代码文件
#include “cmsis_os.h”
#include “pthread.h”
再调用相关接口即可。
怀疑你是BUILD.gn文件的include路径没写正确。
~.~!!
搞了半天,原来你是用hpm下载安装的 @ohos/wifiiot 这个工程~~ 这个工程代码太旧了,它都还没支持KAL/posix标准实现的接口pthread_create,你只能用cmsis的KAL接口,也就是 //kernel/liteos_m/components/cmsis/ 这里定义的接口。
想要尝试posix接口,你要用LTS1.0之后的代码,确保我上面提到的路径存在 kal/posix/include 目录和头文件,才可以使用。
//foundation/distributedschedule/services/samgr_lite/samgr/adapter/posix" 这里虽然有代码,但是你看一下...samgr/adapter/BUILD.gn 文件,ohos_kernel_type == "liteos_riscv"的轻量系统,只编译cmsis部分代码,并且这里的adapter是为samgr组件使用的,你自己的应用不要用这里的接口,否则代码耦合会导致可维护性很差。
其它目录下的posix相路径,你也可以看一下BUILD.gn,是不是有编译限制。
另外,//ohos_bundles/目录下的内容,可以删掉,这是hpm安装项目代码时的临时文件,后面没什么用的。@ohos/wifiiot 代码太旧了,建议新手先在LTS1.0上练练,再切入LTS3.0.