添加"-Wl,-static -lmy_static_lib"会影响库搜索路径的原因是因为这个参数告诉链接器在链接时使用静态库(即my_static_lib),而不是动态库。静态库是在编译时将库的代码和数据直接嵌入到可执行文件中,因此在运行时不需要额外的库文件。而动态库是在运行时加载的,需要通过库搜索路径来找到对应的库文件。
当使用"-Wl,-static -lmy_static_lib"参数时,链接器会优先搜索静态库,如果找到了对应的静态库文件,就会使用静态库进行链接,而不再搜索动态库。这样就会忽略掉默认的库搜索路径,可能导致其他依赖库无法被正确链接。
如果希望同时搜索静态库和动态库,可以使用"-Wl,-Bstatic -lmy_static_lib"参数。这样链接器会先搜索静态库,如果找到则使用静态库进行链接,如果没有找到静态库,则会继续搜索动态库。
总结起来,添加"-Wl,-static -lmy_static_lib"参数会影响库搜索路径,因为链接器会优先搜索静态库,可能导致其他依赖库无法被正确链接。
领取专属 10元无门槛券
手把手带您无忧上云