今天帮忙编译某个东西时,提示undefined reference to XXXX。这个错误是链接器的错误,查了半天,唯一一个比较像的线索就是库的依赖顺序。
后来看到有人说把链接选项打两遍,比如gcc `pkg-config --cflags --libs gtk+-2.0 libusb-1.0` xx.c -o xx `pkg-config --cflags --libs gtk+-2.0 libusb-1.0`,居然就神奇的通过了。
想想也有道理,如果真的跟链接顺序有关,那么这样写就是对称的,万一有依赖顺序相反了,就会增加一个方向依赖,避免问题。
时间: 2024-11-03 20:55:46