xLua icon indicating copy to clipboard operation
xLua copied to clipboard

第三方库macosx问题

Open semgilo opened this issue 3 years ago • 0 comments

编译方法:

  • 添加第三方库:
#begin lfs
set (LFS_SRC lfs/lfs.c)
set_property(
    SOURCE ${LFS_SRC}
    APPEND
    PROPERTY COMPILE_DEFINITIONS
    LUA_LIB
)
list(APPEND THIRDPART_INC lfs)
set (THIRDPART_SRC ${THIRDPART_SRC} ${LFS_SRC})
#end lfs

#begin bitop
set (BITOP_SRC bitop/bit.c)
set_property(
    SOURCE ${BITOP_SRC}
    APPEND
    PROPERTY COMPILE_DEFINITIONS
    LUA_LIB
)
list(APPEND THIRDPART_INC bitop)
set (THIRDPART_SRC ${THIRDPART_SRC} ${BITOP_SRC})
#end bitop

#begin lpack
set (LPACK_SRC lpack/lpack.c)
set_property(
    SOURCE ${LPACK_SRC}
    APPEND
    PROPERTY COMPILE_DEFINITIONS
    LUA_LIB
)
list(APPEND THIRDPART_INC lpack)
set (THIRDPART_SRC ${THIRDPART_SRC} ${LPACK_SRC})
#end lpack
  • 修改build.yml (只剩下luajit版本)
name: build

on: 
  push:
    paths: 
      - build/**
      - .github/workflows/build.yml

jobs:
  android:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Install NDK
        run: |
          cd ~
          wget -O NDK -q https://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip
          sudo apt install unzip -y
          unzip -q NDK
          ANDROID_NDK_HOME=$(pwd)/android-ndk-r15c
      - name: Build
        run: |
          cd build
          sudo apt install gcc-multilib
          ./make_android_luajit_arm64.sh
      - name: UploadJit
        uses: actions/upload-artifact@v2
        with:
          path: ./build/plugin_luajit/**/*
          name: plugin_luajit
  linux:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Build
        run: |
          cd build
          ./make_linux64_luajit.sh
      - name: UploadJit
        uses: actions/upload-artifact@v2
        with:
          path: ./build/plugin_luajit/**/*
          name: plugin_luajit  
  ios:
    runs-on: macos-latest

    steps:
      - uses: actions/checkout@v2
      - name: Build
        run: |
          cd build
          ./make_ios_luajit.sh
      - name: UploadJit
        uses: actions/upload-artifact@v2
        with:
          path: ./build/plugin_luajit/**/*
          name: plugin_luajit
  osx:
    runs-on: macos-10.15

    steps:
      - uses: actions/checkout@v2
      - name: Build
        run: |
          cd build
          ./make_osx_luajit.sh
      - name: UploadJit
        uses: actions/upload-artifact@v2
        with:
          path: ./build/plugin_luajit/**/*
          name: plugin_luajit  
  windows:
    runs-on: windows-2016

    steps:
      - uses: actions/checkout@v2
      
      - name: Insatll MSVC
        uses: microsoft/[email protected]
      
      - name: Build
        run: |
          cd build
          .\make_win_lua54.bat
          .\make_win32_lua53.bat
          .\make_win64_lua53.bat
      - uses: ilammy/msvc-dev-cmd@v1
      - name: Build Luajit
        run: |
          cd build
          .\make_win64_luajit.bat
      - name: UploadJit
        uses: actions/upload-artifact@v2
        with:
          path: ./build/plugin_luajit/**/*
          name: plugin_luajit
  • 编译成功(但在macosx下没有相关api,ios下能找到)
nm -a xlua| grep luaopen
0000000000026fc0 t _f_luaopen
0000000000011020 T _luaopen_base
0000000000015410 T _luaopen_debug
0000000000001a60 T _luaopen_i64lib
000000000001b850 T _luaopen_io
0000000000007220 T _luaopen_lpeg
0000000000020660 T _luaopen_math
000000000004f2a0 T _luaopen_mime_core
0000000000022730 T _luaopen_os
0000000000021010 T _luaopen_package
0000000000033bc0 T _luaopen_pb
0000000000031db0 T _luaopen_pb_buffer
0000000000030e10 T _luaopen_pb_conv
0000000000030950 T _luaopen_pb_io
00000000000329c0 T _luaopen_pb_slice
0000000000055380 T _luaopen_perflib
0000000000040e70 T _luaopen_rapidjson
000000000004f190 T _luaopen_socket_core
0000000000027500 T _luaopen_string
000000000002b4d0 T _luaopen_table
0000000000058b10 T _luaopen_xlua

semgilo avatar Feb 06 '22 11:02 semgilo