用cygwin,distcc和cmake在windows上交叉编译

时间:2017-02-17 11:04:22

标签: windows cygwin cross-compiling distcc

我希望我的Jenkins安装(在Windows上)使用带有distcc的从机来减少编译时间。

我在奴隶上使用Cygwin来运行distcc,但我在配置期间遇到问题,即“./ configure”。配置执行编译器检查,但是当我使用CMake生成构建文件时对嵌入式设备进行交叉编译时,我假设我不需要将所有这些信息指定为distcc。

我试图明确地设置它:

  

导出CC = path / to / compiler

但是,这会导致错误:

$ ./configure --prefix=/usr/local
checking build system type... x86_64-unknown-cygwin
checking host system type... x86_64-unknown-cygwin
checking for gcc... path/to/compiler.exe
checking whether the C compiler works... yes
checking for C compiler default output file name... conftest.elf
checking for suffix of executables... .elf
checking whether we are cross compiling... configure: error: in `/distcc-3.2rc1':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.

我相信--build配置正确,因为我将通过Cygwin运行distcc,但其他变量的值不清楚。

任何人都有这种设置的成功吗?我缺少的任何其他设置或有任何提示/提示的资源?似乎没有如何在Windows机器上进行配置。

2 个答案:

答案 0 :(得分:0)

通常来自./configure --help 您可以看到通知构建系统您要编译将在不同系统上运行的程序(HOST)的选项

  

系统类型:
  --build = BUILD配置用于在BUILD上构建   [猜到]
  --host = HOST交叉编译以构建要运行的程序   在主持人[建设]

另见Automake:

https://www.gnu.org/software/automake/manual/html_node/Cross_002dCompilation.html

答案 1 :(得分:0)

对于可能不熟悉此类安装的任何其他人,在这种情况下编译器意味着用于构建distcc程序本身的编译器(GCC和Make)。

在我的情况下,因为我将在所有机器上运行Cygwin上的distcc,所以我不需要交叉编译 - 因此我可以简单地让automake猜测build / host / target选项(需要移动config.guess和config.sub)从automake到distcc的文件。