在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", 代替
阅读(403) | 评论(0) | 转发(0) |