-L: 包含的库路径 -l:指定库名(如libxxx.so或libxxx/a,-lxxx) -o: 指定目标文件 -c:编译成.o文件 -g: 用于gdb调试,不加此选项不能gdb调试 -Wall: 显示更多的警告 -D:指定宏编译 -lstdc++: 编译C++代码 指定运行时库 Linux环境下程序运行涉及到动态库时,程序运行时候会出现找不到xxx库的提示,一般...
我们用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录: 例: gcc -Wall -I /home/hello/include -L /home/hello/lib main.c -l world -Wl,-rpath,/you/dir/name -o prog 上面这句表示在编译hello.c时: -I(大写i) /home/hello/include表示将/home...
-L. 表示要链接的库在当前目录, -L/usr/lib 表示要连接的库在/usr/lib 下。目录在/usr/lib 时,系统会自动搜索这个目录,可以不用指明。 -l (小写L):表示需要链接库的名称,注意不是库文件名称,比如库文件为 libtest.so,那么库名称为 test。 -include :包含头文件,这个很少用,因为一般情况下在源码中,都...
这几个参数可以禁止编译器使用默认搜索路径:-nostdinc 编译 C 源码时,不在标准系统目录下搜索头文件 -...
-l选项由GCC直接传递给链接器。 链接器在标准目录列表中搜索该库。搜索的目录包括几个标准系统目录以及您指定的任何目录-L。 静态库是目标文件的档案,其文件名类似于liblibrary.a。一些目标还支持共享库,这些共享库的名称通常如下liblibrary.so。如果同时找到静态库和共享库,则链接器将优先选择与共享库链接,除非–st...
可以用 -v 选项,看一下 gcc 所有的默认 -l, -L。# gcc -v -o test test1.c ...COLLECT_...
8.-L,指定额外的库文件路径。可以通过多次使用该选项来指定多个路径。 9. -l,指定要链接的库文件。例如,-lmath将链接数学库。 10.-O,指定优化级别。有多个优化级别可选,从-O0(不进行任何优化)到-O3(进行最高级别的优化)。 11.-D,定义预处理宏。可以使用-D定义宏并为其指定值。例如,-DDEBUG定义一个名...
1.-c:仅编译不链接。 2. -o <file> :指定输出文件名。 3.-g:生成调试信息。 4. -Wall :开启所有警告信息。 5. -Werror :将警告视为错误。 6. -std=<version>:指定编译标准版本,如 -std=c99。 7. -I :添加头文件搜索路径。 8. -L :添加库文件搜索路径。 9. -l<lib> :链接指定的库文件...
在使用动态库和静态库时,可以使用-l参数指定库文件的名称,并使用-L参数指定库文件的路径。编译时传递-l和-L参数可以方便地将库文件链接到执行文件中。 总结:GCC是一款功能强大的编译器,具有丰富的编译参数,可以根据需要进行定制化的编译过程。动态库和静态库的制作也相对简单,通过合理使用编译参数和链接参数,可以方便...
-L"../../ThirdPartyLib/boost/lib" //包含的库文件路径,可以是绝对路径或相对路径 -lboost_system //链接的库是boost_system,可以带有多个 -lm // 因为数学函数位于libm.so库文件中(这些库文件通常位于/lib目录下),-lm选项告诉编译器,我们程序中用到的数学函数要到这个库文件里找。