Указание правильных заголовков #include при разработке плагина - PullRequest
0 голосов
/ 11 июня 2019

Я пишу плагин, который использует пользовательскую библиотеку для больших приложений кода. Базовая структура:

Большая база кода -> Плагин -> Пользовательская библиотека

В коде большего размера используется библиотека, которую я также использую в своей пользовательской библиотеке (Eigen), но более старая версия. Из-за этого некоторые подпрограммы, которые я пытаюсь использовать, потерпят неудачу.

Я попытался скрыть все экземпляры современных классов от большой базы кода, которая гарантирует, что плагин использует только правильную библиотеку следующим образом:

#ifdef LIBCOMPILE
#include<Eigen/Dense>
#include<Eigen/Sparse>
#endif

#ifdef LIBCOMPILE
//Definitions and commands that use Eigen
#endif

Однако, когда большая кодовая база пытается создать экземпляр моего плагина, я получаю ошибки SEGABRT, которые исчезают, когда я закомментирую нарушающий подкласс. По-видимому, это связано с проблемами выделения памяти.

Как я могу предоставить классы в моей пользовательской библиотеке большой базе кода, но убедиться, что я использую правильную библиотеку?

...