当前位置:   article > 正文

QT调用fastDDs_qt使用fastdds

qt使用fastdds

此文章只包含安装于调用,至于使用请查看官方文档

且所有方法暂时只适用于msvc2019

a.安装fastdds

1. 编译源码(转载至幻想的咸鱼)

2.安装eProsima_Fast-DDS-2.8.0-Windows.exe(资源审核中,自行到后续资源发布查找)

安装后如下图 

b.调用

调用前将fastDDS下lib文件添加到项目lib路径下,在自行链接库就行

如果遇到重定义问题

qmake添加

QMAKE_LFLAGS +=/FORCE:MULTIPLE

camek添加

set(CMAKE_SHARED_LINKER_FLAGS "/FORCE:MULTIPLE")

cmake构建后如果出现程序无法正常启动

将fastdds目录下bin目录中的所有.exe文件和对应编译器目录下所有库添加到项目bin目录下

1.qmake

  1. QT += core gui
  2. greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
  3. CONFIG += c++17
  4. DEFINES += QT_DEPRECATED_WARNINGS
  5. SOURCES += \
  6. main.cpp \
  7. mainwindow.cpp \
  8. HEADERS += \
  9. mainwindow.h
  10. FORMS += \
  11. mainwindow.ui
  12. win32:QMAKE_CXXFLAGS_DEBUG += -D_MBCS -D__DEBUG -DBOOST_ALL_DYN_LINK -D__LITTLE_ENDIAN__ -D_WIN32
  13. win32:QMAKE_CXXFLAGS_RELEASE += -D_MBCS -DBOOST_ALL_DYN_LINK -D__LITTLE_ENDIAN__ -D_WIN32
  14. // 用于解决出现库之间重定义问题
  15. QMAKE_LFLAGS +=/FORCE:MULTIPLE
  16. INCLUDEPATH += $$PWD/include
  17. LIBS += -L$$PWD/lib
  18. win32:LIBS += -L$$PWD/lib/x64Win64VS2019 -lfoonathan_memory-0.7.1 -lfastcdr-1.0 -lfastrtps-2.8 -lShlwapi -lIphlpapi -lws2_32 -lAdvapi32
  19. win32:LIBS += -L$$PWD/lib/x64Win64VS2019/VC -llibssl64MD -llibcrypto64MD
  20. msvc {
  21. QMAKE_CFLAGS += /utf-8
  22. QMAKE_CXXFLAGS += /utf-8
  23. }

2.cmake

  1. FILE(GLOB DIR_LIB_SRCS "./*.cpp" "./*.h" "./*.qrc")
  2. add_definitions(-DQT_DEPRECATED_WARNINGS -DMBCS -DBOOST_ALL_DYN_LINK -DLITTLE_ENDIAN -DWIN32)
  3. set(CMAKE_AUTOUIC ON)
  4. set(CMAKE_AUTOMOC ON)
  5. set(CMAKE_AUTORCC ON)
  6. // 用于解决库之间重定义问题
  7. set(CMAKE_SHARED_LINKER_FLAGS "/FORCE:MULTIPLE")
  8. link_directories(
  9. ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/../../lib/${CURRENT_APPEND_DIR}/x64Win64VS2019
  10. ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/../../lib/${CURRENT_APPEND_DIR}/x64Win64VS2019/VC
  11. )
  12. add_library (
  13. ${PROJECT_NAME} SHARED ${DIR_LIB_SRCS}
  14. )
  15. target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core Qt5::Widgets Qt5::Network Qt5::Sql foonathan_memory-0.7.1 fastcdr-1.0 fastrtps-2.8 Shlwapi Iphlpapi ws2_32 Advapi32 libssl64MD libcrypto64MD
  16. )

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/81689
推荐阅读
相关标签
  

闽ICP备14008679号