Когда мы хотим получить экспортируемую переменную (как в C, так и в C ++), нам нужно:
— объявите переменную как extern в заголовочном файле hpp (т.е. extern int x;)
— инициализируйте переменную в файле cpp (т.е. int x = 0).
Однако я столкнулся с трудностями с контейнерами и получаю сообщения типа «переменная объявляется несколько раз» и так далее.
Например:
hpp файл:
typedef std::vector<std::pair<std::string, std::string>> VectorOfPairs_t;
export VectorOfPairs_t vectorOfPairs;
файл cpp:
std::pair<std::string, std::string> myPair;
myPair = std::make_pair("hello", "world");
vectorOfPairs.push_back( myPair ); // All this is just a hack
// to initialize the container...
main.cpp (или другой cpp):
use of vectorOfPairs accordingly to my requirements
Но, как я уже говорил, это не компиляция.
Не могли бы вы сказать мне, что я делаю не так?
Задача ещё не решена.
Других решений пока нет …