2013-05-17 2 views
0

Я загрузил набор инструментов (а именно IRTK из Имперского колледжа), и я скомпилировал и установил его с помощью CMake.Суперкласс объекта cpp, включенного в .cc файл не файл заголовка

В рамках инсталляции он скопировал все соответствующие заголовочные файлы в/USR/местные/включить

Я хочу использовать классы из этого набора инструментов, поэтому я включить соответствующий заголовочный файл/USR/местные/включают, например, irtkFileVTKToImage.h, однако этот класс наследуется от суперкласса, irtkFileToImage и включение суперкласса происходит в irtkFileVTKToImage.cc не в irtkFileVTKToImage.h.

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

error: unknown class name 'irtkFileToImage'

Что я должен сделать, чтобы быть в состоянии использовать эти файлы заголовков. Я не писал набор инструментов, так что все добавления в файлы заголовков могут занять у меня много времени, есть ли более простой способ сделать это?

------ ОБНОВЛЕНИЕ ------

В работе вокруг я включил полноту источника ToolKits в моем проекте, и теперь мой код компилируется нормально. Не идеален, но, по крайней мере, он работает

+0

Не могли бы вы вставить раздел кода? Вы согласны с .cc? – Maresh

+0

Да, я мог бы, но это очень большой набор инструментов, и мне потребовалось бы много времени, чтобы пройти и вставить включенные для каждого класса. Также мне нужно будет прочитать классы, чтобы попытаться определить, какие заголовки включать в каждый. Мне было интересно, есть ли какой-нибудь автоматизированный способ сделать это, или что-то, что вы можете сделать в make-файле или с cmake, чтобы сделать это для меня? –

+0

Где происходит ошибка компиляции? Во время связи или раньше? Не могли бы вы вставить весь вывод компилятора, на pastebin или что-то в этом роде. – Maresh

ответ

0

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

+0

Это то, что я пытался сделать. Проблема в том, что после его установки заголовки (которые были помещены в глобальный каталог dir) не имеют их зависимостей, по некоторым причинам в файлы .cc были включены зависимости. Вместо этого я включил весь источник инструментария в свой проект, и теперь я могу запустить свой код, а не совсем идеально, но по крайней мере он работает сейчас –

Смежные вопросы