之前使用thrift,通过flume的thrift source采集平台日志,编译程序时的命令如下:
gcc server.c gen-c_glib/*.c -o server -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/local/include/thrift/c_glib -I/usr/local/include/thrift -I. -L/usr/local/lib -lthrift_c_glib -L/usr/lib64/ -lglib-2.0 -lgobject-2.0
当时并不知道-I、-L、-l(大i)这些参数的含义。今天通过读几篇博文才梳理明白。
- GCC编译器的工作过程:阮一峰老师的一篇博文:编译器的工作过程
- 静态链接和动态链接:静态和动态链接
- ldconfig命令:ldconfig,一个动态链接库管理命令
- -I、-L参数:gcc -l参数和-L参数