社区
Linux/Unix社区
帖子详情
这个库的编译问题,剑心来
minddancer
2003-08-22 11:32:18
上次那个库,我想编译自己的程序发现跑不了,编译它自己的例子也跑不了,你可以写一下编译的步骤吗?
...全文
35
1
打赏
收藏
这个库的编译问题,剑心来
上次那个库,我想编译自己的程序发现跑不了,编译它自己的例子也跑不了,你可以写一下编译的步骤吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DanXer
2003-08-22
打赏
举报
回复
好的,这个问题有点麻烦,我尽量说清楚点。
1.如果编译时使用./configure --enable-static.就会生成两个版本的release库
一个静态库/usr/local/lib/liballeg.a;一个动态库/usr/local/lib/liballeg.so.4.0.3
也可以./configure --enable-dbglib --enable-static生成两个版本的debug库,这时文件名好像稍有不同,/usr/local/lib/liballd.a,/usr/local/lib/liballd.so.4.0.3(我没有测试debug版,文件名我是在doc里看到的)。
2.同时编译后会生成allegro-config脚本。放到某个bin目录下了。
3.自己编写程序连接allegro库时就存在连接那个版本的库的问题,allegro建议,如果连接静态库(文件/usr/local/lib/liballeg.a,gcc标志-lalleg)那么其它的X驱动,SVGALib也要使用静态库版本,如果使用allegro共享库版本(文件/usr/local/lib/liballeg.a,ldopen("alleg.so.4.0")),就同其他库没有关系了,其他库可以使用任何版本。
4.由于库的复杂性,allegro附带了allegro-config:连接配置脚本。
使用方法:
root# allegro-config --env //配置编译游戏程序的环境,主要是设置一些变量,默认情况下应该已配置好,如果没有也可以allegro-config --env >> ~/.bashrc_profile。
root# allegro-config //显示可用选项
编译程序时(包括demo和examples和你自己编写的程序)
root# gcc -o demo demo.c `allegro-config --libs` //使用release版共享库
root# gcc -o demo demo.c `allegro-config --libs release` //同上
root# gcc -o demo demo.c `allegro-config --libs debug` //使用debug版共享库
root# gcc -o demo demo.c `allegro-config --static release` //使用release版静态库
root# gcc -o demo demo.c `allegro-config --share release` //使用release版共享库
其它以此类推。allegro-config后面的选项可以直接运行allegro-config来查询。
注意:上边`allegro-config --libs`的两个单引号不是单引号(').而是TAB键上边,1左边的键。
我已测试过没有问题,可以编译任何程序。
c#学习笔记.txt
如前所述,我是一个狮子座男人,一度我认为学习Java会使我看起来与众不同,可是几个月以后我放弃了这个选择,我看了论坛里关于这两种语言孰优孰劣的讨论,最终选择了C#,请不要问我为何做出这样的选择,很多人认为...
Makefile教程(绝对经典,所有
问题
看这一篇足够了)
Makefile教程(绝对经典,所有
问题
看这一篇足够了),本文介绍了makefile的概念、作用、语法和实例。
10] 建立C帝国(GDAL
编译
安装以及一般的C
库
编译
步骤)
10] 建立C帝国(GDAL
编译
安装以及一般的C
库
编译
步骤) 2011年06月16日 好吧,就让我谈谈C系列的
编译
问题
吧。虽然九形不需要
编译
,但是,九形(乃至QGIS,GRASS,OpenEV....)的心脏GDAL建议还是自己
编译
。虽然...
GCC
编译
选项
-c
编译
产生对象文件(*.obj)而不链接成可执行文件,当
编译
几个独立的模块,而待以后由链接程序把它们链接在一起时,就可以使用这个选项,如:$cc -c hello.c ===> hello.o$cc hello.o2. -o 允许用户指定输出文件名,如$cc...
Google开源项目WebRTC下载及
编译
WebRTC是一个非常庞大的工程,由于墙的存在又将
编译
的难度拉伸了一个档次,不得不说整个过程真的很虐心,在这里记录一下。我所使用的所有软件版本就现在来说都是最新的,应该算是目前最佳的方案。 二、梯子 由于...
Linux/Unix社区
23,125
社区成员
74,509
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章