Создайте файл .so со всем статически связанным (включая libc) в CMake

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
-2
задан Neil Butterworth 4 April 2019 в 23:13
поделиться

1 ответ

Вы должны быть в состоянии достичь этого, статически связываясь с зависимыми библиотеками в вашей общей библиотеке и делая такую ​​связь частной (т. Е. target_link_libraries(MyLib PRIVATE dependencies...)).

Затем вам нужно будет убедиться, что ни одна из частей какой-либо из зависимых библиотек не будет доступна потребителю вашей общей библиотеки (включая любые заголовки, которые считаются экспозицией). Техника PImpl , вероятно, пригодится вам.

0
ответ дан Developer Paul 4 April 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: