社区
系统维护与使用区
帖子详情
编译条件“-lpthread”应该加在makefile的哪里阿?
Jason_QQ
2002-07-16 11:28:11
请问我用glade做好了一个界面,build后,生成了makefile文件,我要在这个程序中使用多线程,编译的时候应该在这个makefile的哪里加编译条件“-lpthread”呢?
...全文
1852
9
打赏
收藏
编译条件“-lpthread”应该加在makefile的哪里阿?
请问我用glade做好了一个界面,build后,生成了makefile文件,我要在这个程序中使用多线程,编译的时候应该在这个makefile的哪里加编译条件“-lpthread”呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
savage96
2002-07-19
打赏
举报
回复
sorry,俺写错了!!!
在makefile文件里,找 -L . $PATH 类似的行,在他的后面加上 -lpthread
如:
LIBDIRS=-L . ../lib -lmylib
加上-lpthread后:
LIBDIRS=-L . ../lib -lmylib -lpthread
就可以了。
savage96
2002-07-19
打赏
举报
回复
在makefile文件里,找 -L . $PATH 类似的行,在他的后面加上 -lpthread
如:
LIBDIRS=-L . ../zhm/myproject/lib -lmylib
加上后:
LIBDIRS=-L . ../lib -lmylib -lpthread
就可以了。
ajiefudan
2002-07-17
打赏
举报
回复
你总该知道你要生成的可执行文件名(假设是myapp)吧。
一般情况下,在makefile中会用变量表示,比如:
TARGET=myapp
然后你再查找TARGET,你会发现有这么一句:
$(TARGET): $(OBJ)
gcc -o $@ $(LFLAGS)(gcc也可以是$(CC)或者别的变量)
如果有如lflags的变量,那么可以把lpthread加到变量中,否则你就直接加在gcc语句后面。
如再不清楚,把makefile贴上来
kernel1
2002-07-17
打赏
举报
回复
gcc -lpthread -o $@ 依赖文件
Jason_QQ
2002-07-16
打赏
举报
回复
这个问题困扰我多事,请大家帮个忙,谢谢
Jason_QQ
2002-07-16
打赏
举报
回复
试过,不行阿!
seashoreboy
2002-07-16
打赏
举报
回复
是不是可以在敲入make命令后直接加上?我猜的。
Jason_QQ
2002-07-16
打赏
举报
回复
To ajiefudan:
首先谢谢你的回答,不过我现在只是一个初学者,我的问题关键就出在还看不懂这个MAKEFILE,现在这个程序如果直接打Make编译的话,就会出现“undefined reference to 'pthread_create'”等与线程有关的错误,所以我断定是要在MAKEFILE里某个位子加编译条件“-lpthread”,可琢磨来琢磨去,就是看不懂!所以希望各位前辈给出个简单的MAKEFILE例子,说明在哪里表示编译,哪里表示连接,谢谢!
ajiefudan
2002-07-16
打赏
举报
回复
在你生成可执行文件的时候,就是连接的时候加,一般是最后一步。
在编译的时候不需要。
ARM平台的ppp-2.4.4交叉
编译
.doc
ARM平台的ppp-2.4.4交叉
编译
ARM平台的ppp-2.4.4交叉
编译
Phenix 2007.04.30 交叉
编译
器 : arm-linux-gcc 3.3.2 ppp版本 : both 2.4.4 and 2.4.3 are OK
Makefile
编写,精简版本。
Makefile
编写,精简版本。
Darwin Stream Server
编译
安装说明文档
Darwin Stream Server 5.5.5 源码库的
编译
安装说明文档,亲测可用
通用
Makefile
模板
这是我自己制作的一个通用
Makefile
模板,你只需要像填空一下设置一些必要的
编译
器参数和源代码目录即可,其他复杂的依赖关系,目录文件等都会自动帮你生成,免去你的很多烦恼。 注意:每一个.c文件都会在对应的目录下生成一个.d的依赖文件,你不需要管.d文件的内容,
Makefile
会为你自动管理这些文件。
linux下开发,连接mysql数据库头文件和库文件(32位和64位)
linux下开发,连接mysql数据库时候用到的头文件和库文件,32位和64位的都有,直接解压根据系统选择32位还是64位,把mysql_include和mysql_lib两个文件夹复制到主文件同级目录,然后
makefile
里面这样
编译
gcc -I./mysql_include xxx.c -L./mysql_lib -lmysqlclient -
lp
thread
-lm -ldl -o xxx,不用去下载mysql-devel或者安装mysql客户端和服务器了(注意: -I./mysql_include和-L./mysql_lib是指的当前目录的mysql_include和mysql_lib,就是
编译
的时候连接到复制进来的这个头文件和库文件)
系统维护与使用区
19,619
社区成员
74,587
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章