Как будто вы пытаетесь получить доступ к объекту, который является null
. Рассмотрим ниже пример:
TypeA objA;
. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException
, что имеет смысл.
См. Также этот пример:
String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
Вы должны быть в состоянии достичь этого, статически связываясь с зависимыми библиотеками в вашей общей библиотеке и делая такую связь частной (т. Е. target_link_libraries(MyLib PRIVATE dependencies...)
).
Затем вам нужно будет убедиться, что ни одна из частей какой-либо из зависимых библиотек не будет доступна потребителю вашей общей библиотеки (включая любые заголовки, которые считаются экспозицией). Техника PImpl , вероятно, пригодится вам.