可重复的校验和.so文件在不同的机器上

时间:2014-01-27 17:16:36

标签: gcc distcc

我正在尝试在两台不同的机器上生成一个具有相同校验和的共享库(源代码,Linux操作系统,gcc,cmake,ccache,g ++都有相同的版本。只有硬件更改)。

我试过-frandom-seed=string标志,但不可能有相同的校验和......

有没有办法让它变得可能?

非常感谢。

西尔

1 个答案:

答案 0 :(得分:0)

如果您使用 cmake 来构建项目,然后在两个不同的服务器上拥有相同的校验和,则应该向生成共享对象/库/可执行文件的Makefile.txt添加一个命令。实际上,除非我们明确地对它们进行排序,否则Cmake不保证对象文件的一致链接顺序 为此,请致电列表:

list(SORT <variable>)

例如,以下命令将对变量SRC_FILE中的文件进行排序,然后使用这些文件生成共享库/对象:

list(SORT SRC_FILES)
add_library(${PROJECT_NAME} SHARED ${HEADER_FILES} ${SRC_FILES})

由于