链接静态库时要注意顺序

ld链接器在链接静态库时,如果这些库有依赖关系,那么要注意链接时的顺序。

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

猜你喜欢

转载自www.cnblogs.com/cristiano-duan/p/13368229.html