Учитывая класс C, определенный в Ch, и функции-члены от f1 до fn, и функцию-член g1.
f1..fn Определения находятся в f.cpp, в то время как g1 находится в g.cpp.
f.cpp связан с lib1.so, а g.cpp связан с lib2.so.
g.cpp зависит от Ch, а lib2.so - от lib1.so.Но lib1.so не зависит от lib2.so
Когда у меня есть исполняемый файл, который использует члены C, кроме g1 (), и я пытаюсь связать его только с lib1.so, связывание завершается неудачей с неразрешенными ссылками:
lib1.so: неразрешенная ссылка на C :: g1 () (которая определена в lib2.so)
Если код в исполняемом файле не использует непосредственно g1, должен ли ябыть в состоянии иметь ссылки независимо от lib2 полностью?