GOLANG静态库链接

时间:2016-07-15 07:24:28

标签: linux go static-linking

OS-> Ubuntu 16.04 LTS |去Vesrion-> 1.6.2 64位

我正在使用这个github.com/xeodou/go-sqlcipher PKG

此Pkg需要 - > libcrypto库

这是我正在从pkg上面的_example文件夹编译的程序链接 https://play.golang.org/p/drJGhsWiEi

当我使用时 - > go build encryption.go(加密二进制生成)

命令 - >文件./encryption

加密:ELF 64位LSB可执行文件,x86-64,版本1(SYSV),动态链接,解释器/lib64/ld-linux-x86-64.so.2,适用于GNU / Linux 2.6.32,BuildID [sha1] = 91d49d6db997f83dfc722b820e5cab4cc16854cf,未剥离

命令 - > ldd ./encrption

    linux-vdso.so.1 =>  (0x00007ffca8fba000)
    libcrypto.so.1.0.0 => /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fa93c071000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa93be6d000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa93bc4f000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa93b886000)
    /lib64/ld-linux-x86-64.so.2 (0x000055f1aa574000)

命令 - > ./encryption

我得到的输出 - {"名称":" xeodou","密码":" 123456"}

当我使用时 - >去构建--ldflags' -extldflags" -static"' encryption.go

命令 - >文件./encryption

加密:ELF 64位LSB可执行文件,x86-64,版本1(GNU / Linux),静态链接,适用于GNU / Linux 2.6.32,BuildID [sha1] = 71fa3d0c30cc5c52dd4f8bea432f8e0468225f9a,未剥离

命令 - > ldd ./encryption

   not a dynamic executable

命令 - > ./encryption

我得到的输出 - 分段错误(核心转储)

我没有得到的是,当在其他设备中运行相同的二进制文件时,其中一些不工作。

请指导我

0 个答案:

没有答案