OpenSplice с ошибкой выполнения Qt5 Не удалось создать: недопустимый дескриптор

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

Ошибка в DDS :: DomainParticipantFactory :: create_participant: создание
не удалось: неверный дескриптор

После многих шагов отладки я пришел к выводу, что мой исполняемый файл не связан с моим ospl! Я понял это, потому что, когда он падает, ospl-error.log не генерируется.

Я поставил файл релиза правильно . ./release.com и запустил мой qtcreator с того же терминала, чтобы все переменные окружения были правильно установлены (особенно OSPL_URI а также OSPL_HOME)

У кого-нибудь есть идеи как это исправить?

0

Решение

Я наконец-то сумел решить эту проблему и подумал поделиться ответом.
Проблема заключалась в том, что я включил все библиотеки DDS в свой .pro Я включил следующие библиотеки:

unix:!macx: LIBS += -L$$PWD/../../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/lib/ -lcmagent -lcmjni -lcmsoap -lcmxml -ldbmsconnect -ldcpsc99 -ldcpsccpp -ldcpsgapi -ldcpsisocpp -ldcpsisocpp2 -ldcpssac -ldcpssacpp -ldcpssaj -lddsconf -lddsconfparser -lddsdatabase -lddshts -lddsi2 -lddsi2e -lddskernel -lddsos -lddsosnet -lddsrmi -lddsrrstorage -lddsserialization -lddsuser -lddsutil -ldurability -lfacecpp -lleveldb-ospl -llzf-ospl -lnetworking -lnwbridge -lrlm913 -lrnr -lsigar-amd64-linux -lsnappy-ospl -lsnetworking -lspliced -lsqlite3-ospl -lstreamsccpp -lstreamsisocpp -lstreamssacpp

INCLUDEPATH += $$PWD/../../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/include
DEPENDPATH += $$PWD/../../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/include

Сейчас я использую минимальный набор библиотек, который требуется программе, и теперь он работает отлично. Вот что я использую сейчас:

unix:!macx: LIBS += -L$$PWD/../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/lib/ -lddskernel -ldcpsisocpp

INCLUDEPATH += $$PWD/../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/include
DEPENDPATH += $$PWD/../PrismTech/Vortex_v2/Device/VortexOpenSplice/6.7.1/HDE/x86_64.linux/include

На самом деле ошибка вызвана -ldcpsccpp и -lddshts. После удаления этих библиотек приложение работает отлично.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]