Chinaunix首页 | 论坛 | 博客
  • 博客访问: 955358
  • 博文数量: 376
  • 博客积分: 154
  • 博客等级: 入伍新兵
  • 技术积分: 1558
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-13 08:42
文章分类

全部博文(376)

文章存档

2014年(11)

2013年(88)

2012年(260)

2011年(17)

分类:

2012-08-30 13:35:27

在github上建了个工程。这个工程需要使用SDL,和SDL_draw的库, SDL安装还比较容易,apt-get一下就可以,但是sdl_draw还需要手动安装。 所以希望能够让这个工程能够脱离本地的库编译。


首先需要将使用到库文件放置在当前项目的lib下。
目前我使用的sdl_draw的库文件放在/usr/local/lib下, 将其中相关的文件一并copy到项目目录下的lib文件夹中。这里我使用了lib这个名字,当然可以更换成其他名字。

然后使用-L指定库的位置。
这里用到了gcc的编译选项 -L,和-l.

gcc DayData.h Drawer/SDLMGR.h Drawer/SDLMGR.c Drawer/AreaMGR.h Drawer/AreaMGR.c Drawer/DrawLib.c StatusHandler/StatusMGR.c ClientDataReader.c -o client -lSDL -L lib -lSDL_draw
libSDL_draw.so
-L 可以制定开始查找库文件的路径。 
-L lib 的含义是在首选在当前目录下lib文件夹(即./lib)中查找库文件,当然可以更换成你在项目中使用的目录。查找顺序如下:
./lib-->/lib-->/usr/lib-->/usr/local/lib 

-lxxxx: 声明库文件的查找位置之后,还需要用-l声明编译使用的库的名字, 这里使用了SDL_draw的库。所以参数的值为 -lSDL_draw. 就是使用动态库 libSDL_draw.so

这里只处理了库的文件,头文件还在/usr/include中, 只需要将其中用到的头文件也放在项目下,例如\include文件夹中, 代码中引用时使用"include/SDL_draw.h", 代替

阅读(401) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~