- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的项目是使用 CMake 构建的,并使用 DistCC + GCC 编译。
我按如下方式配置编译器:
SET(CMAKE_C_COMPILER "distcc variation-of-gcc")
要构建项目,我只需运行“cmake”,然后运行“make -jXX”。
虽然 distcc 确实加快了速度,但有时我想在没有分发的情况下构建 - 我希望它在机器上本地构建。
我知道我可以修改 DISTCC_HOSTS 以仅包含本地主机 - 但这仍然有 distcc 网络的开销,尽管它比其他机器的开销更快...
我也可以通过再次运行 cmake
并使用自定义标志修改 CMAKE_C_COMPILER 来实现。
但我正在寻找一种方法,只需将标志直接添加到“make”即可。
I.e.
# This will use distcc:
make -jXX ...
# This will run locally:
make LOCAL_BUILD=1 -jX ...
有我可以使用的 CMake 技巧吗?
最佳答案
我们使用以下代码允许 make time(而不是 cmake time)打开和关闭 -Werror
标志。
if(CMAKE_GENERATOR STREQUAL "Unix Makefiles")
# TODO: this approach for the WERROR only works with makefiles not Ninja
set(CMAKE_CXX_COMPILE_OBJECT "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> $(WERROR) -o <OBJECT> -c <SOURCE>")
endif()
然后我们运行
make WERROR=-Werror
打开警告作为错误。
我希望您可以做一些类似的事情,是否使用来自 make 变量的 distcc。像这样:
set(CMAKE_CXX_COMPILE_OBJECT "$(USE_DISTCC) <CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -o <OBJECT> -c <SOURCE>")
然后运行
make USE_DISTCC=distcc
或者只是
make
关于c++ - DistCC 和 CMake - 在运行 make 时在本地和分布式构建之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25712216/
很抱歉,标题并没有说明太多,但到目前为止,我不能更具体... 我在网络中有两台 Ubuntu 14.04 计算机(服务器(应该进行编译的是 10.8.1.52),客户端是 10.8。 1.42. 我通
我正在尝试使用 distcc 分发构建使用 clang按以下方式使用 sanitizer :clang++-12 -fsanitize-blacklist=/path/to/the/blacklist
两个简化的 makefile makefile1 a.txt: echo “123144234” > a.txt t2: a.txt cat a.txt > b.txt mak
将 scons 与 distcc 一起使用的正确方法是什么?使用 CC="distcc g++"或 CXX 的明显方法不起作用。 有没有人成功地将两者结合起来? 谢谢! 最佳答案 您是否通过环境变量配
将 scons 与 distcc 一起使用的正确方法是什么?使用 CC="distcc g++"或 CXX 的明显方法不起作用。 有没有人成功地将两者结合起来? 谢谢! 最佳答案 您是否通过环境变量配
在使用 distcc 构建项目时,链接阶段是在本地完成的,而不是像编译那样发送到其他计算机上完成的,这有什么特别的原因吗?阅读 distcc 白页并没有给出明确的答案,但我猜测链接目标文件所花费的时间
背景: 我有一个 128 核服务器,我想将其用作构建服务器。 我有一堆客户端机器,它们与不太新且功能不太强大的 PC 一起工作。 (无法升级!不在我的控制范围内。) 我做了什么: 我关注了 distc
我正在使用普通的 distcc(没有泵模式)来编译我的代码,对于分发到主机的每个文件,打印以下消息: distcc[11543] (dcc_talk_to_include_server) Warnin
我正在尝试让 distcc 在两台机器 CLIENT 和 SERVER 之间工作,我“认为”我已经正确设置了它,但我仍然收到此错误 (dcc_build_somewhere) Warning: fai
Distcc 可以轻松地在多台机器上分发 C 或 C++ 编译作业,并且是处理大型、频繁构建的代码库的天赐之物。 然而,如今越来越多的大型项目是用 Java 构建的。有谁知道 Java 的等价物或类似
有没有像 distcc 这样的 GHC 工具?或者其他更原始的分布式编译技巧? 我意识到 GHC 对版本极其敏感。这是不切实际的,因为 GHC doesn't yet support cross-co
我想用 Raspbian wheezy 的新副本在 Raspberry Pi 上编译 gnuradio。我有一个带有 i7 的 distcc 设置来卸载 RPi 的工作。当我使用 时,它可以很好地处理
我正在尝试编译 USB wifi dongle 的 RaLink 驱动程序。不使用 distcc 一切正常,但如果我使用 distcc 则会出现错误。这里制作日志: make -C UTIL/ cp
我正在尝试为我正在进行的新项目设置一个小型 2 系统 distcc 编译集群,但由于某种原因,我无法让集群中的第二台服务器进行编译。 如果我尝试在所述服务器上运行 arm-eabi-gcc 文件,我会
Xcode 4.2 在首选项中有一个选项卡,用于处理在本地网络中共享编译任务。它使用 bonjour 和 distcc 将编译转移到同一网络上选择了该选项的其他 mac。升级到 Xcode 4.3 后
我为一个小型 C++ 项目安装了 distcc 和 Cmake。我有两台机器:所以有一台在本地完成编译的客户端,还有一台“远程”完成编译的服务器。 我已按照说明安装和配置 distcc,但在使用以下简
我已经使用 distcc 使用 "make -j8 CC=distcc" 命令对几个包进行分布式编译。它工作正常。但是为了通过编译内核源代码来创建 debian 包,我们使用“make-kpkg”命令
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
据我所知,当我将我的任何项目从模拟器切换到设备构建配置时,构建不再是分布式的,而是在本地构建的。 那么,让 Xcode 使用分布式构建机制进行设备构建有什么神奇之处吗?有人对此有明确的说法,甚至有一些
有些实用程序通过添加命令作为前缀来使用现有编译器(因此,您可以调用 cc -c file.c,而不是调用 distcc cc -c file.c)。 使用 CMake 时可以更改编译器命令,但是我在尝
我是一名优秀的程序员,十分优秀!