ShadowsocksR-Live / shadowsocksr-native

翻墙 从容穿越党国敏感日 ShadowsocksR (SSRoT) native implementation for all platforms, GFW terminator
https://github.com/ShadowsocksR-Live/shadowsocksr-native/wiki
GNU General Public License v3.0
2.74k stars 765 forks source link

可以build一个MacOS的库吗? #162

Closed GitTouch closed 3 years ago

GitTouch commented 3 years ago

自己编译的用不了

ssrlive commented 3 years ago

不知你还缺什么。 https://github.com/ShadowsocksR-Live/shadowsocksr-native/releases/latest

GitTouch commented 3 years ago

emm... 修改了 src/CMakeLists.txt 215行 #add_library(libssr-native ${SOURCE_FILES_LOCAL}) 的注释 ,编译出来的静态库用不了,但是同时编译的ssr-local 和 ssr-client 都是可以用的 。 使用的时候报错的都是加密的方法log如下: log.txt 我自己觉得应该是编译的时候哪里出了问题,但是不知道是什么问题,有可能是加密的库没有被包进去,编译日志如下 compilelog.txt 我用的是MacOS10.12系统编译和调用的,今天搞了一整天了,还是没有弄除了,哎,求大神帮帮我啊,,,生无可恋。。。

ssrlive commented 3 years ago

你在第 256 行

https://github.com/ShadowsocksR-Live/shadowsocksr-native/blob/a9254a4ce7da36c39045c79a83290f34637fc0ca/src/CMakeLists.txt#L254-L258

插入如下代码,就可以编译出一个静态库来。

add_library(ssr-native ${SOURCE_FILES_CLIENT})
set_target_properties(ssr-native PROPERTIES COMPILE_DEFINITIONS MODULE_LOCAL)
target_link_libraries(ssr-native ${ss_lib_net} uv-mbed)

像这样:

[ 73%] Building C object src/CMakeFiles/ssr-native.dir/obfs/base64.c.o
[ 73%] Building C object src/CMakeFiles/ssr-native.dir/obfs/crc32.c.o
[ 73%] Building C object src/CMakeFiles/ssr-native.dir/obfs/cstl_lib.c.o
[ 74%] Building C object src/CMakeFiles/ssr-native.dir/obfs/http_simple.c.o
[ 74%] Building C object src/CMakeFiles/ssr-native.dir/obfs/obfs.c.o
[ 74%] Building C object src/CMakeFiles/ssr-native.dir/obfs/obfsutil.c.o
[ 74%] Building C object src/CMakeFiles/ssr-native.dir/obfs/tls1.2_ticket.c.o
[ 75%] Building C object src/CMakeFiles/ssr-native.dir/obfs/verify.c.o
[ 75%] Linking C static library libssr-native.a

其实在 iOS 目录下有一个 xcode 工程,就是直接编译成 macOS 和 iOS 的 framework 的。拿去就用。

GitTouch commented 3 years ago

谢啦,大哥,我等会去试试(^^)