Chr*_*ton 16
对于简单的情况,您可以这样做:
gcc -o maybe.exe useful.a something.c
Run Code Online (Sandbox Code Playgroud)
用于非平凡项目的Makefile通常首先调用gcc将每个.c文件编译为.o对象.
gcc -c something.c
Run Code Online (Sandbox Code Playgroud)
然后他们调用链接器(这些天经常使用gcc作为它的包装器),并带有一个.o和.a文件列表,用于链接到输出可执行文件.
gcc -o maybe.exe useful.a something.o
Run Code Online (Sandbox Code Playgroud)
另请注意,对于大多数安装的库,这是典型的不明确指定某文件,而是说-lhandy这将是短期的"试图找到在配置(或-L指定)搜索目录一种叫做libhandy.a "
*.a是一个静态库而不是动态库(*.dll在 windows 和*.solinux 中)
gcc -L<here comes the library path> -l<library name>
Run Code Online (Sandbox Code Playgroud)
例如,对于当前路径中包含 libname.a 的文件,您应该使用:
gcc *.c -L. -lname -o myprogram.o
Run Code Online (Sandbox Code Playgroud)
来自man(将 man gcc 放在 shell 命令提示符中)
您可以混合使用选项和其他参数。在大多数情况下,您使用的顺序并不重要。当您使用多个同类选项时,顺序很重要;例如,如果您多次指定 -L,将按指定的顺序搜索目录。此外,-l 选项的位置也很重要。
.a 文件是一个已编译的库。将 .c 文件编译为 .o,然后使用链接器将 .o 与 .a 链接起来以生成可执行文件。
| 归档时间: |
|
| 查看次数: |
26906 次 |
| 最近记录: |