1. 程式人生 > >cmake中使用wxWidgets

cmake中使用wxWidgets

在deepin下安裝wxWidgets

sudo apt install libwxgtk3.0-dev

在cmake中使用wxWidgets

find_package(wxWidgets REQUIRED)
set(TARGET WoeUSB)
file(GLOB SRCS *.cpp)
file(GLOB HEADERS *.hpp)
include(${wxWidgets_USE_FILE})
add_executable(${TARGET} ${HEADERS} ${SRCS})
target_link_libraries(${TARGET} ${wxWidgets_LIBRARIES})

本次需求來自專案 WoeUSB
不過,配好後有資源路徑問題,不知道wxWidgets是怎麼除錯這種問題的,話說Qt是怎麼弄的我也不清楚,好像是在pro檔案中加了變數,然後程式碼裡做相容。
手動拷貝資源後,出現了下面的問題
在這裡插入圖片描述

(WoeUSB:29465): GLib-CRITICAL **: 03:16:06.926: g_byte_array_remove_range: assertion 'index_ + length <= array->len' failed

(WoeUSB:29465): GLib-CRITICAL **: 03:16:06.927: g_byte_array_remove_range: assertion 'index_ + length <= array->len' failed

(WoeUSB:29465): GLib-CRITICAL **: 03:16:06.927: g_byte_array_remove_range: assertion 'index_ + length <= array->len' failed

(WoeUSB:29465): GLib-CRITICAL **: 03:16:06.928: g_byte_array_remove_range: assertion 'index_ + length <= array->len' failed

(WoeUSB:29465): GLib-CRITICAL **: 03:16:06.928: g_byte_array_remove_range: assertion 'index_ + length <= array->len' failed

(WoeUSB:29465): GLib-GObject-CRITICAL **: 03:16:06.962: g_object_get_data: assertion 'G_IS_OBJECT (object)' failed

原因未知,先放放。
本次折騰,是因為這個帖子:python寫個 U盤 啟動盤 製作工具
大致看了一下原始碼,用py做了一個GUI,然後呼叫WoeUSB的指令碼。
WoeUSB用wxWidgets做的介面也類似,只是邏輯都在C++程式碼裡,不是完全呼叫shell指令碼。