编译时process_begin: CreateProcess | mutex/condition_variable 报错的一种解决办法
系统:win10
目的:想跑一下wisper.cpp
前置操作:把该项目git下来后打算make,一make就报错
注意,图里其实有两种错误,第一种是process_begin: CreateProcess(NULL,xxx) failed,第二种是error:'thread' is not a member of 'std'.
第二种错误是因为mingw不支持thread库,但是官方有给过补丁,可以自行下载该库。这么做对我来说没用,虽然打完补丁编译通过了,在make的时候mutex和conditon_variable还是出问题。最后重新下了mingw,在下载的时候选择posix,因为win32仍然不支持。
第一种错误我的解决思路是这样的:
找了很多资料都没有很好的解决办法,甚至资料很少。突发奇想换成linux编译试一下,发现输出不一样了
linux下输出了系统的信息。猜测是makefile的问题->去makefile里面看读取系统信息的语句,发现是类unix写法
修改成
总结:如果在make的时候出问题,往往是环境不行,可能是开发者的环境下它的makefile没问题,但是迁移到win上就需要修改;也可能是语言不支持、某个包不支持,一步一步耐心分析就能解决问题了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了