链接静态库时要注意顺序
ld
链接器在链接静态库时,如果这些库有依赖关系,那么要注意链接时的顺序。
- 如果在编译脚本或者CMakeLists.txt中明明已经链接了这些静态库,但是使用链接后的库或者可执行文件时,报undefined reference错误
- 使用
nm -C
命令查看链接后的库或可执行文件中的符号时,符号类型为U
,表示该该符号是未定义的- 检查是否正确链接了依赖的静态库,调整依赖静态库的链接顺序
ld
链接器在链接静态库时,如果这些库有依赖关系,那么要注意链接时的顺序。
- 如果在编译脚本或者CMakeLists.txt中明明已经链接了这些静态库,但是使用链接后的库或者可执行文件时,报undefined reference错误
- 使用
nm -C
命令查看链接后的库或可执行文件中的符号时,符号类型为U
,表示该该符号是未定义的- 检查是否正确链接了依赖的静态库,调整依赖静态库的链接顺序