Предположим, я прочитал и все еще хочу использовать TBB как статически связанную библиотеку. (Представьте, что я работаю в среде где пользователям не разрешено создавать свои собственные dylib.) Но я действительно не хочу переписывать make-файл TBB для создания libtbb.a вместо libtbb.dylib.
Есть ли простой способ из командной строки преобразовать libtbb.dylib в libtbb.o с теми же точками входа?
Я слышал хороший аргумент в пользу невозможности пойти другим путем, от статического к динамическому. А именно: динамические библиотеки должны быть PIC, и преобразование статической библиотеки, отличной от PIC, в PIC невозможно. Но, насколько мне известно, этот аргумент неприменим в обратном направлении.
Вот кто-то говорит, что невозможно преобразовать .dll в .a в Windows, но я думаю, они просто говорят о невозможности разбить резервную копию .dll или .exe до исходных файлов .o, не обязательно говоря, что было бы невозможно создать связываемый файл .o с тем же содержание. Кроме того, ситуация в Windows немного страннее, чем "настоящий" PIC. , хотя я не думаю, что это актуально.