Работа с двойным переходным включает в себя - PullRequest
0 голосов
/ 05 октября 2019

У меня есть исполняемый файл 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?

Редактировать: я думаю, что это ответ Связывание статических библиотек с другими статическими библиотеками

...