东阳的学习笔记
总的来说,这个报错的意思就是说,编译器发现了一个函数的声明,但是却没有找到它的定义。
我们需要将这些缺失的定义代码手动添加,来让编译器知道。
把链接库作为一般的目标文件,为 GCC 指定该链接库的完整路径与文件名。
解决办法如下(3选1即可)
- 如果链接库名为 libmuduo_base.a,并且位于 /usr/lib 目录,那么下面的命令会让 GCC 编译 main.c,然后将 libmuduo_base.a 链接到 main.o:
gcc main.c -o main.out /home/san/apps/build/debug-install-cpp11/lib/lib_muduo_base.a
- 使用
-L
选项,为 GCC 增加另一个搜索链接库的目录:
gcc main.c -lmuduo_base -o main.out -L/home/san/apps/build/debug-install-cpp11/lib
- 将链接库的目录添加到环境变量 LIBRARYPATH 中。
export LD_LIBRARY_PATH=~/.mujoco/mujoco200/bin${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
gcc main.c -lmuduo_base -o main.out