gpt4 book ai didi

c++ - icecc交叉编译时如何设置ICECC_VERSION

转载 作者:太空狗 更新时间:2023-10-29 12:11:27 27 4
gpt4 key购买 nike

我正在尝试使用 icecc 进行交叉编译,但没有成功。现在,我正在尝试使用 mingw 在我的 Linux 系统上为 Windows 编译,它工作正常(即使使用 ccache),但我无法让 icecc 正确分发编译。

不幸的是,icecc documentation比较模糊。例如,ICECC_VERSION 中的“平台”应该是什么?设置为?是否有任何有效/公认的值?

目前我已经使用以下方法创建了一个本地工具链存档:

icecc --build-native

...以及我的 Ubuntu MinGW 安装的存档,使用:

/usr/lib/icecc/icecc-create-env --gcc /usr/bin/x86_64-w64-mingw32-gcc-win32 /usr/bin/x86_64-w64-mingw32-g++-win32

我称归档文件为x86_64-gcc-5.4.0.tar.gzwin64-mingw-5.3.1.tar.gz , 分别。

我的 ICECC_VERSION是(我只是随机选择“win64”作为平台名称):

export ICECC_VERSION=/path/to/x86_64-gcc-5.4.0.tar.gz,win64:/path/to/win64-mingw-5.3.1.tar.gz

...在我的 CMake 工具链文件中(作为尝试的临时解决方案):

set(CMAKE_C_COMPILER icecc x86_64-w64-mingw32-gcc-win32)
set(CMAKE_CXX_COMPILER icecc x86_64-w64-mingw32-g++-win32)

export ICECC_DEBUG=debug编译 C++ 文件时得到以下输出:

/usr/bin/icecc x86_64-w64-mingw32-g++-win32 .....
...
ICECC[1287] 16:11:18: connected to /var/run/icecc/iceccd.socket
ICECC[1287] 16:11:18: <building_local>
ICECC[1287] 16:11:29: invoking: /usr/bin/x86_64-w64-mingw32-g++-win32
ICECC[1287] 16:11:31: </building_local: 12379ms>

...所以 icecc 似乎没有分发构建。我做错了什么?

编辑:对于 native 编译,我使用 ccache 和 CCACHE_PREFIX=icecc ,它工作得很好(在 15 个以上节点的集群中构建),所以 icecc 似乎设置正确。

更新:我认为此行为是由 bug in ICECC 引起的,现在应该是 fixed在较新版本的 ICECC 中。

最佳答案

来自README

Create symbolic links with the cross compilers names (e.g. arm-eabi-[gcc,g++] and arm-linux-androideabi-[gcc,g++]) pointing to where the icecc binary is. Make sure these symbolic links are in the $PATH and before the path of the toolchains.

由于您使用的是 ccache,因此您必须在 /usr/lib/ccache 中将以下符号链接(symbolic link)添加到您的交叉编译器中

下面是一个arm交叉编译器的例子

$ ls -al /usr/lib/ccache
lrwxrwxrwx 1 root root 16 Apr 13 13:25 arm-poky-linux-gnueabi-g++ -> ../../bin/ccache
lrwxrwxrwx 1 root root 16 Apr 13 13:25 arm-poky-linux-gnueabi-gcc -> ../../bin/ccache
.....

关于c++ - icecc交叉编译时如何设置ICECC_VERSION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43740422/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com