В Solaris 10 я создаю библиотеку A.so, которая вызывает функцию f (), которая определена в библиотеке B.so. Чтобы скомпилировать библиотеку A.so, я объявляю в своем коде f () как extern.
К сожалению, я "забыл" объявить в make-файле A, что он должен связываться с B.
Однако «make A» не вызывает предупреждений, ошибок и библиотека A.so создается.
Конечно, при выполнении кода А вызов функции f () завершается сбоем, поскольку он не определен.
Есть ли способ (опция компоновщика, трюк с кодом ...), чтобы компиляция библиотеки A не удалась?
Как я могу быть уверен, что все символы, на которые есть ссылки в библиотеке A, определены во время компиляции?
Спасибо за любые предложения.