- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 gRPC 中,为 arm 构建时,我需要禁用这三个变量:
-DRUN_HAVE_STD_REGEX=OFF
-DRUN_HAVE_POSIX_REGEX=OFF
-DRUN_HAVE_STEADY_CLOCK=OFF
我不是很清楚他们做了什么,所以我想知道:
因为它们不会被 CMake 自动检测到,如果我的用例在任何地方都能正常工作且没有重大问题,那么我将更容易始终禁用它们。
最佳答案
gRPC 在交叉编译时使用 CMake 的 try_run
自动检测平台是否支持某个特性。但是,有些变量需要手动提供。来自 the documentation (强调):
When cross compiling, the executable compiled in the first step usually cannot be run on the build host. The
try_run
command checks theCMAKE_CROSSCOMPILING
variable to detect whether CMake is in cross-compiling mode. If that is the case, it will still try to compile the executable, but it will not try to run the executable unless theCMAKE_CROSSCOMPILING_EMULATOR
variable is set. Instead it will create cache variables which must be filled by the user or by presetting them in some CMake script file to the values the executable would have produced if it had been run on its actual target platform.
基本上,它是说 CMake 不会尝试在构建机器上运行已编译的可执行文件,除非手动指定一些测试结果(本应在目标机器上运行的测试)。以下测试通常会导致问题:
-DRUN_HAVE_STD_REGEX
-DRUN_HAVE_GNU_POSIX_REGEX
-DRUN_HAVE_POSIX_REGEX
-DRUN_HAVE_STEADY_CLOCK
希望这能回答您的第一个问题。我不知道如何回答你的第二个问题,因为我总是手动设置这些变量以匹配我为之编译的任何系统的特性。
关于grpc - RUN_HAVE_STD_REGEX、RUN_HAVE_POSIX_REGEX 和 RUN_HAVE_STEADY_CLOCK 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55992930/
在 gRPC 中,为 arm 构建时,我需要禁用这三个变量: -DRUN_HAVE_STD_REGEX=OFF -DRUN_HAVE_POSIX_REGEX=OFF -DRUN_HAVE_STEADY
我是一名优秀的程序员,十分优秀!