假如我要编译a.out,其中:
源文件:./main.c
库文件:./libs/libhiredis.so
库头文件目录:./
目标可执行文件:./a.out
主要理解三个编译选项
1. -L选项: 主要功能:在编译时,指明查找的库路径,形式为: g++ -L./libs -o a.out -lhiredis *.c
2. -Wl选项: syntax to pass an argument to the option. 传递参数给接下来的编译选项,与3选项配合使用
3. -rpath选项, 主要功能:在运行时,会去查找指明的库路径 形式为:g++ -Wl,-rpath=./:libs -lhiredis *.c 或者g++ -Wl,-rpath,./:libs -lhiredis *.c
错误一:如果少了-L选项(g++ -Wl,-rpath=./:libs -lhiredis *.c),编译时报错,找不到相应的库文件:
/usr/bin/ld: cannot find -lhiredis
collect2: ld returned 1 exit status
</