я использую yaml-cpp
библиотека, которая по умолчанию генерирует статически зависимую статическую библиотеку (libyaml-cpp.a
). Моя собственная библиотека компилируется в две версии, статическую и общую. Так как мне нужен общий, мне нужно включить PIC для yaml-cpp
(это легкая часть). Однако теперь я страдаю от снижения производительности в статической библиотеке? Если да, то насколько большой?
В основном у меня есть три варианта:
yaml-cpp
два раза, один раз зависит от позиции и один раз PIC, связать соответствующие элементы в моей общей и статической библиотеке
yaml-cpp
будет скомпилирован дважды, но это не должно иметь значения, я не буду его менять (это часто)yaml-cpp
один раз как PIC, свяжите его с моим общим (PIC) и статическим (не PIC)
yaml-cpp
один раз как ПОС и скомпилируйте оба мои (поделился & статично) как ПИК тоже
Таким образом, вариант 1 кажется лучшим. Есть ли у меня какие-либо ложные предположения в моем резюме? Или я пропустил какой-либо другой вариант?
Платформа: amd64
Задача ещё не решена.
Других решений пока нет …