From d91b1c05a7e7c322b70a4706ea444eb398ca756e Mon Sep 17 00:00:00 2001 From: wyc <1104749580@qq.com> Date: Wed, 8 Jul 2026 14:39:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=98=BE=E7=A4=BA=E5=87=BA=20maplibre=20?= =?UTF-8?q?=E5=AE=98=E6=96=B9=E6=B5=8B=E8=AF=95=E5=9C=B0=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CMakeLists.txt | 6 +++--- main.cmake | 11 ++++++++++- src/main.cpp | 20 ++++++++++++++++---- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 76b4cee..34cd1d9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,14 +8,14 @@ if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_LIST_DIR}) include(third_party/build_infra/start.cmake) include(third_party/CPP_Core/main.cmake) - set(ecap_rely maplibre-native-qt) - library_is_installed_with_rely(global ok ${ecap_rely}) + set(test_maplibre_rely QMapLibre_qt_5_15_2) + library_is_installed_with_rely(global ok ${test_maplibre_rely}) if (${ok}) include(${CMAKE_SOURCE_DIR}/main.cmake) else () message("test_maplibre 依赖未安装! 请运行 test_maplibre_env 目标安装所需第三方依赖") endif () - rcl_add_dependency_action_targets("test_maplibre_env" ${ecap_rely}) + rcl_add_dependency_action_targets("test_maplibre_env" ${test_maplibre_rely}) include(third_party/build_infra/end.cmake) else () endif () diff --git a/main.cmake b/main.cmake index 0be510f..73c0a65 100644 --- a/main.cmake +++ b/main.cmake @@ -1,5 +1,14 @@ set(dir ${CMAKE_CURRENT_LIST_DIR}/src) + + +find_package(Qt5 REQUIRED COMPONENTS Widgets) +find_package(QMapLibre COMPONENTS Widgets REQUIRED) + + file(GLOB_RECURSE srcs ${dir}/*.c ${dir}/*.h ${dir}/*.cpp ${dir}/*.hpp) -add_executable(test_maplibre ${srcs}) \ No newline at end of file +add_executable(test_maplibre ${srcs}) +target_link_libraries(test_maplibre PRIVATE Qt5::Widgets QMapLibre::Widgets) + +target_compile_definitions(test_maplibre PRIVATE QT_MAPLIBRE_STATIC) \ No newline at end of file diff --git a/src/main.cpp b/src/main.cpp index 470a39d..1f2cc86 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,6 +1,18 @@ -#include +#include +#include +#include +#include -int main() { - std::cout << "Hello World!" << std::endl; - return 0; + + +int main(int argc, char *argv[]) { + QApplication app(argc, argv); + QMapLibre::Settings settings; + QMapLibre::GLWidget widget(settings); + widget.resize(1200, 800); + widget.setWindowTitle("MapLibre Qt Widgets Demo"); + widget.show(); + widget.map()->setStyleUrl("https://demotiles.maplibre.org/style.json"); + widget.map()->setCoordinateZoom(QMapLibre::Coordinate(41.874, -75.789), 5.0); + return app.exec(); } \ No newline at end of file