diff --git a/CMakeLists.txt b/CMakeLists.txt index 638b3157d..587a6c6d3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,14 +1,15 @@ cmake_minimum_required(VERSION 3.10) project(JKMenu) -# 1. 设置 C++ 标准 (Vulkan 后端通常需要 C++11 或更高,17 没问题) +# 1. 强制使用静态 C++ 运行时,解决 "library libc++_shared.so not found" 报错 +set(ANDROID_STL c++_static) set(CMAKE_CXX_STANDARD 17) -# 2. 包含头文件路径 +# 2. 包含路径 include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/backends) -# 3. 定义 ImGui 插件源文件 (新增了 vulkan 后端) +# 3. ImGui 源文件 (包含 Vulkan 和 OpenGL3 后端) set(IMGUI_SRCS imgui.cpp imgui_draw.cpp @@ -16,29 +17,29 @@ set(IMGUI_SRCS imgui_tables.cpp backends/imgui_impl_android.cpp backends/imgui_impl_opengl3.cpp - backends/imgui_impl_vulkan.cpp # <--- 新增这一行 + backends/imgui_impl_vulkan.cpp ) -# 4. 目标一:生成插件 libJKMenu.so +# 4. 生成插件 libJKMenu.so add_library(JKMenu SHARED main.cpp ${IMGUI_SRCS} ) -# 链接库:增加 vulkan 库链接 +# 链接 Dobby 和 系统库 target_link_libraries(JKMenu ${CMAKE_CURRENT_SOURCE_DIR}/libdobby.a android GLESv3 EGL - vulkan # <--- 新增链接 vulkan 库 + vulkan log ) -# 5. 目标二:生成 ELF 注入器 jk_injector +# 5. 生成注入器 jk_injector add_executable(jk_injector injector.cpp) target_link_libraries(jk_injector log) -# 6. 设置输出属性 (保持原样) +# 6. 属性设置 set_target_properties(JKMenu PROPERTIES OUTPUT_NAME "JKMenu") set_target_properties(jk_injector PROPERTIES OUTPUT_NAME "jk_injector")