我很想知道以以下两种方式将库(共享库和静态库)指定给 gcc/g++ 是否有任何实质性差异(CC 可以是 g++ 或 gcc)
CC -o output_executable /path/to/my/libstatic.a /path/to/my/libshared.so source1.cpp source2.cpp ... sourceN.cpp
对比
CC -o output_executable -L/path/to/my/libs -lstatic -lshared source1.cpp source2.cpp ... sourceN.cpp
我只能看到一个主要区别是直接传递完全指定的库名称可以更好地控制选择静态或动态版本,但我怀疑还有其他事情可能会对可执行文件的构建方式产生副作用或会在运行时表现,对吗?
安德里亚。