gcc编译时-l,-I这些是什么意思,举例说明 在GCC编译器中,选项”-l”和”-I”用于指定库文件和头文件的位置。 ”-l”选项用于链接库文件。它后面跟着要链接的库的名称,不包括前缀”lib”和扩展名。例如,如果你想链接一个名为libmath.so的数学库,可以使用”-lmath”选项。GCC会在默认的库路径中搜索该库,并...
(如果gcc编译选项中加入了“-static”表示寻找libdb2.a静态库文件)
(如果gcc编译选项中加入了“-static”表示寻找libdb2.a静态库文件)
在windows下,很明显的错了 gcc的动态链接库是使用静态.a文件链接的。-lsdl是链接一般而言(libsdl.a),就是链接sdl静态库,至于是真的静态还是动态的接入文件(mingw/windows下),这个就看你准备的库了。-L是引入搜索文件目录,就是在L后边的目录里搜索要链接的库。在linux/unix下有点不同,链...
DEFN"定义 MACRO 宏。4、-E:只运行 C 预编译器。5、-g:生成调试信息。GNU 调试器可利用该信息。6、-IDIRECTORY:指定额外的头文件搜索路径DIRECTORY。7、-LDIRECTORY:指定额外的函数库搜索路径DIRECTORY。8、-lLIBRARY:连接时搜索指定的函数库LIBRARY。9、-m486:针对 486 进行代码优化。
-l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢? 就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把库文件名的头lib和尾.so去掉就是库名了。 好了现在我们知道怎么得到库名了,比如我们自已要用到一个第三方提供的库名字叫libtest.so,...
gcc –L /usr/dev/mysql/lib –lmysqlclient test.o –o test 1. Linux下的库文件分为两大类分别是动态链接库(通常以.so结尾)和静态链接库(通常以.a结尾),二者的区别仅在于程序执行时所需的代码是在运行时动态加载的,还是在编译时静态加载的。
# gcc test.c -L /home/lyanry/lib -ltest -o test 上面这条命令中,值得好好解释一下的是-l选项,它指示GCC去连接库文件libfoo.so。Linux下的库文件在命名时有一个约定,那就是应该以 lib三个字母开头,由于所有的库文件都遵循了同样的规范,因此在用-l选项指定链接的库文件名时可以省去lib三个字母,也就...
GCC编译指令 -O2是第二层级的优化 -o是指定生成文件的文件名 stock stock.c soapC.c soapClient.c ../../stdsoap2.c是指对这四个文件进行编译 -I include路径(头文件路径)-L 指定编译的时候,搜索库的路径。-l 是指定编译的时候使用的库,即gsoap ...