У меня есть исполняемый файл main
, который зависит от двух сторонних библиотек, скажем caffe
и pytorch
. caffe.h
включает protobuf_v1.h
и pytorch.h
включает protobuf_v2.h
. Во время компиляции я получаю сообщение об ошибке, что некоторая переменная PROBUF_VERSION
определена ранее. Даже если бы не было конфликта заголовков, все равно были бы ошибки компоновщика из-за дублированных переменных protobuf, определенных в библиотеках caffe
и pytorch
.
Как правильно решить эту ситуацию? Есть ли что-то похожее на идиому PIMPL, где я могу предварительно связать библиотеки caffe в caffe_pimpl.o
и pytorch_pimpl.o
?
Редактировать: я думаю, что это ответ Связывание статических библиотек с другими статическими библиотеками