Создайте файл .so со всем статически связанным (включая libc) в CMake - PullRequest
0 голосов
/ 05 апреля 2019

Я хочу создать общий объект .so, который статически связан с musl libc (или каким-либо другим libc). Чтобы другие могли динамически связываться с моим файлом .so во время выполнения, не беспокоясь о наличии определенной libc на их платформе. Это возможно ? Если так, как я могу добиться этого в CMake?

1 Ответ

0 голосов
/ 05 апреля 2019

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

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

...