From 31f2eb5446d4120ab54122237bcca5f7fff8b3fc Mon Sep 17 00:00:00 2001 From: "peng.li24" <734991033@qq.com> Date: Sat, 12 Sep 2026 18:48:28 +0800 Subject: [PATCH] =?UTF-8?q?ci:=20=E5=A2=9E=E5=8A=A0=20macOS=20=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=EF=BC=9Bdl=20=E2=86=92=20${CMAKE=5FDL=5FLIBS}=20?= =?UTF-8?q?=E8=B7=A8=E5=B9=B3=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - CMakeLists:dlopen/dlsym 宿主库改用 ${CMAKE_DL_LIBS}(Linux=libdl, macOS 在 libSystem 内),原裸 dl 在 macOS 链接失败 - 新增 ci-macos.yml:macos-latest 上 cmake 构建 + 安装校验 Co-Authored-By: Claude Code --- .github/workflows/ci-macos.yml | 13 +++++++++++++ CMakeLists.txt | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/ci-macos.yml diff --git a/.github/workflows/ci-macos.yml b/.github/workflows/ci-macos.yml new file mode 100644 index 0000000..87fef96 --- /dev/null +++ b/.github/workflows/ci-macos.yml @@ -0,0 +1,13 @@ +name: ci-macos +on: [push, pull_request] +jobs: + build: + runs-on: macos-latest + steps: + - uses: actions/checkout@v4 + - name: 构建 + run: | + cmake -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local + cmake --build build + - name: 安装(验证安装规则) + run: sudo cmake --install build diff --git a/CMakeLists.txt b/CMakeLists.txt index 25c16ff..90468c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,7 +26,8 @@ target_include_directories(kvspace $ ) -target_link_libraries(kvspace PRIVATE dl) +# dlopen/dlsym 的宿主库:Linux 为 libdl,macOS 在 libSystem 内(CMAKE_DL_LIBS 两者皆正确) +target_link_libraries(kvspace PRIVATE ${CMAKE_DL_LIBS}) target_compile_definitions(kvspace PRIVATE _GNU_SOURCE)