Я пытаюсь использовать socketio poco в сенсорном приложении Ubuntu на Qml / C ++. Но не уверен, как добавить его или если это возможно. Оба используют cmake и работают отдельно.
Это socketio poco CMakeLists.txt:
cmake_minimum_required(VERSION 3.0)
set(CMAKE_BUILD_TYPE Debug)
set (CMAKE_CXX_STANDARD 11)
set(source_files
client.cpp
Events.cpp
)
file(GLOB SIOPOCO_SOURCES src/SIOClient.cpp
src/Other.cpp
)
include_directories(include/)
add_library(socketiopoco_static STATIC ${SIOPOCO_SOURCES})
add_executable(socketiopoco_example ${source_files})
target_link_libraries(socketiopoco_example socketiopoco_static
pthread
crypto
ssl
PocoNetSSL
PocoCrypto
PocoNet
PocoZip
PocoUtil
PocoXML
PocoJSON
PocoFoundation)
install (TARGETS socketiopoco_example DESTINATION bin)
а вот и сенсорное приложение Ubuntu CMakeLists.txt:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(PLUGIN "PluginName")
set (CMAKE_CXX_STANDARD 11)
set(
SRC
plugin.cpp
pluginname.cpp
)
set(CMAKE_AUTOMOC ON)
add_library(${PLUGIN} MODULE ${SRC})
set_target_properties(${PLUGIN} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PLUGIN})
qt5_use_modules(${PLUGIN} Qml Quick DBus)
execute_process(
COMMAND dpkg-architecture -qDEB_HOST_MULTIARCH
OUTPUT_VARIABLE ARCH_TRIPLET
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(QT_IMPORTS_DIR "/lib/${ARCH_TRIPLET}")
install(TARGETS ${PLUGIN} DESTINATION ${QT_IMPORTS_DIR}/${PLUGIN}/)
install(FILES qmldir DESTINATION ${QT_IMPORTS_DIR}/${PLUGIN}/)
и структура проекта:
utproject/
assets/
plugins/
PluginName/
include/ #socketio
src/ #socketio
CMakeLists.txt #code above
plugin.cpp
plugin.h
pluginname.cpp
pluginname.h
CMakeLists.txt
po/
qml/
utproject.apparmour
clickable.json
CMakeLists.txt
Оба работают правильно, но я не уверен, как добавить библиотеки сокетов io в проект qml / c ++.
Когда я пытаюсь, я получаю poco библиотеки, отсутствующие в проекте qml.
Библиотеки Poco находятся в / usr / local / include /, и cmake может легко найти его в проекте socketio poco.
Моя версия cmake — 3.10, и я использую кликабель, чтобы запустить его.
Может быть, проще использовать html5 framework, но я тоже хочу использовать другие библиотеки c ++.
Спасибо за помощь
Задача ещё не решена.
Других решений пока нет …