Как заставить CMake генерировать файлы TypeSupport, такие как <idl_file> Support. [Cxx, h]?

Я использую CMake для создания файлов из IDL и размещения их в библиотеке RedHat. Проблема в том, что файлы поддержки <idl_file>[c,h] не создаются, поэтому я не могу зарегистрировать поддержку типа. В CMake у меня есть следующая строка, которая генерирует файлы <idl_file>Plugin.[C, h] и <idl_file>. [Cxx, h]. Проблема в том, что он не генерирует никаких файлов <idl_file> Support. [Cxx, h].

      connextdds_rtiddsgen_run(IDL_FILE myFile.idl LANG "C++11")

Насколько мне известно, я не использую их как отдельные, создав библиотеку с ними внутри, не так ли? Я не использовал NDDS_STANDALONE_TYPE и не добавлял ndds_standalone_type.cxx.

Если я использую следующую командную строку, появятся файлы поддержки <idl_file>[c,h].

      rtiddsgen -namespace myFile.idl

Однако, если я вручную добавлю файлы * Plugin. [C, h], * Support. [C, h] и *. [Ch] и скомпилирую их в библиотеку, а затем свяжу их с моей программой, появится много неопределенных ссылок, таких как:

      myns::myTypePlugin_serialize_to_cdr_buffer(char*, unsigned int*, myns::myType const*) myns::myTypeSeq::length() const
myns::myTypePluginSupport_create_data_w_params(myns::myType*, DDS_TYPEDeallocationParams_t const*)
myns::myTypePluginSupport_create_data_w_params(DDS_TypeAllocationParams_t const*)

И поэтому я пытаюсь заставить CMake проделать эту работу за меня в надежде на лучший результат. Как заставить CMake генерировать эти файлы TypeSupport?

1 ответ

Решение

Согласно скрипту ConnextDdsCodegen.cmake, который определяет connextdds_rtiddsgen_runфункция, ожидается, что файлы и будут сгенерированы для языка C ++ :

      list(APPEND sources "${path_base}Plugin.cxx" "${path_base}Support.cxx")
list(APPEND headers "${path_base}Plugin.h" "${path_base}Support.h")

но я не вижу добавления этих файлов в случае языка C ++ 11 .

Вероятно, это означает, что данные файлы ( *Support.cxx а также *Support.h) не будет сгенерирован для C ++ 11 (и для C ++ 03 тоже).

Другие вопросы по тегам