1

我使用以下一组标志编译我的代码

    LIBS += $(EXT_DIR)/librocksdb.a -lrt -lsnappy -llz4 -lz

其中 librocksdb.a 由

    PORTABLE=1 make static_lib 

我需要将二进制文件发送到几十台机器(都是安装了相同包集、相同代码/目录组织结构的 ec2 机器)。

但是,当我尝试运行代码时(在远程机器上,而不是在本地机器上,它工作正常),我收到以下错误

Error in RockDB: Compression type Snappy is not linked with the binary.

当我远程编译并从那里使用二进制文件时,它也可以正常工作。两台机器上都安装了 Libsnappy。

关于如何修复此错误并生成可以在多台机器上执行的二进制文件的任何想法?

4

1 回答 1

0

使用 ldd ./yourapplication 检查远程机器上的库依赖关系。

或者在构建应用程序之前构建和安装静态 snappy 库。

我在一台旧机器上做了这个,它可以工作。

于 2018-03-12T17:31:15.227 回答