LINUX.ORG.RU

История изменений

Исправление buddhist, (текущая версия) :

Для простоты придется обратиться к сторонней libc.

Попробуй такие шаги (на свой страх и риск в плане совместимости всех либ):

1. Качаешь (допустим, в ~/musl) сорцы musl: https://www.musl-libc.org/download.html
2. Собираешь musl так:

$ CFLAGS=-fPIC ./configure --disable-shared && make
Сборка занимает в пределах минуты. Хотя, по-моему, -fPIC там и так есть, но на всякий случай лучше его явно указать.
3. Собираешь свою либу так:
g++ -fPIC -shared -static-libgcc -static-libstdc++ -L/home/$(whoami)/musl/lib test.cc -o test.so

На моей машине собралось статически, импорт потом нормально сработал, тоже проверил.

Может быть, так можно сделать и с GLIBC, не знаю.

Исходная версия buddhist, :

Попробуй такие шаги (на свой страх и риск в плане совместимости всех либ): Для простоты придется обратиться к сторонней libc.

1. Качаешь (допустим, в ~/musl) сорцы musl: https://www.musl-libc.org/download.html
2. Собираешь musl так:

$ CFLAGS=-fPIC ./configure --disable-shared && make
Сборка занимает в пределах минуты. Хотя, по-моему, -fPIC там и так есть, но на всякий случай лучше его явно указать.
3. Собираешь свою либу так:
g++ -fPIC -shared -static-libgcc -static-libstdc++ -L/home/$(whoami)/musl/lib test.cc -o test.so

На моей машине собралось статически, импорт потом нормально сработал, тоже проверил.

Может быть, так можно сделать и с GLIBC, не знаю.