Я в настоящее время застрял с некоторым кодом, который я успешно скомпилировал в .so-файл. Когда я пытаюсь связать свою библиотеку в какой-то код, если не удается со следующим утверждением:Как отследить неопределенный символ
неопределенный символ: _ZrSRKN5CORBA3AnyERPN3RTT5corba4Math7MatrixdE
только полезная информация, которую я могу получить то, что есть что-то с объектом или которая использует следующие типы: «CORBA :: Any» (обычный тип corba) и «RTT :: corba :: Math :: Matrixd» (тип, который определяется с использованием одного файла hh и двух файлов cc).
Мне было бы интересно узнать, где именно в моем коде генерируется этот символ, и почему его не найти. Я подозревал, что она представляет собой функцию, определенную в одном из моих куб.см файлов, так вот как я собирал всю вещь:
г ++ -I {} CORBA включает main.cpp one.cc two.cc -L { Библиотеки CORBA}
Какой процесс отладки следует выполнять?
прототип моей функции "оператор >> = (CORBA :: Any, сопзЬ & RTT :: CORBA :: Math :: Matrixd * &)". Нормально ли, что запятая инвертирована? Считаете ли вы, что это может быть связано с проблемой? –
На самом деле у меня есть две аналогичные функции. Первый - «operator >> = (const CORBA :: Any &, RTT :: corba :: Math :: Matrixd * &)», а второй - «operator >> = (const CORBA :: Any &, const RTT: : CORBA :: Math :: Matrixd * &)». Я бы сказал, что он соответствует первому. –
@Flav Я не понимаю вопрос с перевернутой запятой, и он соответствует первому раз, так как совпадают квалификаторы 'const'. –