pthread编译时报错的解决方法

最近在学习POSIX thread编程,今天编译一个程序报如下错误:

/tmp/ccXH8mJy.o:在函数‘main’中:
deadlock.c:(.text+0xbb):对‘pthread_create’未定义的引用
deadlock.c:(.text+0x134):对‘pthread_join’未定义的引用

郁闷,百度了一下,发现在gcc编译的使用应该加上 -pthread 选项 (注意不是 -lpthread)

重新编译,顺利通过,特此纪念

时间: 2024-10-29 19:10:09

pthread编译时报错的解决方法的相关文章

C++中的字符数组逐个赋值时报错的解决方法

C++中的字符数组逐个赋值时报错的解决方法 C++中定义一个字符数组的时候,如果初始化,则cout的时候不会出错,但是在逐个字符赋值的时候,很容易出错. #include<iostream> #include<string> using namespace std; int main() { //char s[100] = "china"; char s[100]; s[0]='c'; s[1]='n'; s[2]='\0'; cout<<s<

【第一个项目】MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:

MySQL第二天早上第一次连接超时报错,解决方法com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure Last packet sent to the server was 0 ms ago 最近碰到一个mysql5

Oracle使用sys登录时报错ORA-28009解决方法

情况一:使用sqlplus登录: 正常输入用户名的口令,就会报错,因为SYS是在数据库之外的超级管理员,所以我们在登录的时候 要在输入口令:口令+as sysdba(比如:123456 as sysdba) 情况二:使用PL/SQL登录: 这是我们平时的登录数据库很常规的操作,但是用SYS作为用户名登录的时候就会报 ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER这样的错 解决方法是: 将“连接为”选项框的Normal改为SYS

新安装的soapui启动时报错及解决方法

今天新安装了soapui准备测试一下接口,结果安装成功后启动时报错:The JVM could not be started. The maximum heap size (-Xmx) might be too large 意思就是:Java虚拟机无法启动.Xmx可能太大 这时就需要将这个参数的值改小一点. 经过排查这个参数在soapui安装目录\bin\目录下的vmoptions配置文件中 将原来的值改为800,保存后启动成功

sql server 作业导出放到另外一台机器执行时报错的解决方法

SQL Server2008脚本创建作业失败,提示: 引用内容消息 515,级别 16,状态 2,过程 sp_add_job,第 137 行不能将值 NULL 插入列 'owner_sid',表 'msdb.dbo.sysjobs':列不允许有 Null 值.Insert 失败.语句已终止. 解决方法 在创建作业的脚本中查找@owner_login_name,会找到类似语句: 复制内容到剪贴板 程序代码@owner_login_name=N'WIN-V8UR550191J\Administrat

VS2012 Nuget 安装 AutoMapper时报错的解决方法

VS2012 在.net 4.0下安装AutoMapper时,会报以下错误: "AutoMapper"已拥有为"Standard.Library"定义的依赖项. 'AutoMapper' already has a dependency defined for 'Standard.Library'. 经查应该是Nuget版本(VS2012的2.83版本)较低引起的,不支持Standard.Library框架. 解决方法有两个: 方式一NuGet 2.12支持Auto

nuxtjs在vue组件中使用window对象编译报错的解决方法

我们知道nuxtjs是做服务端渲染的,他有很多声明周期是运行在服务端的,以及正常的vue声明周期mounted之前均是在服务端运行的,那么服务端是没有比如window对象的location.navagitor等,以及H5的FormData()方法,所以当你在created之前使用这些时,会报错,那么如何处理呢? 1.自己的写的函数里包含window等 因为nuxt为SSR框架,所以其编译打包时会区分服务端渲染还是客户端渲染(即浏览器),在vue文件中使用window对象报错的原因是,webpac

RequiredFieldValidator控件验证不能为空时报错多种解决方法以及问题分析

最近在学asp.net,在使用RequiredFieldValidator控件进行验证时,发现报错,界面控件如下图: 点击完确定之后按理来说是要报不能为空的提示的但是却报错如下图: 经过一番研究发现,也看了其他人的解决方案,总结如下: .net 4.5 ~(vs2012~)控件默认都Enable了 ,Unobtrusive ValidationMode的属性(和jquery的引用相关),但并未对其进行赋值, 必须手动对其进行设置.在进行数据验证时使用的各种validator需要在前端调用jque

使用Notepad++编码编译时报错(已解决?)

使用Notepad++编码,编译的时候经常会报错,说什么GBK编码啥啥啥~~~但同样的编码用ECLIPSE就没有问题.再有,用记事本把他保存成ANSI格式也没有问题.******难道JAVA编码不都是用UTF-8格式的吗? *****本帅今天决定暂不用Notepad++了,还是用ECLIPSE,省得麻烦 本帅今天又用Notepad++编译程序,一个偶然的机会发现,win7的cmd窗口是用的ANSI格式编码的,这样编译汉字时会有乱码.于是本帅就把Notepad++里也换成用ANSI编码,  然后再