- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Jetson 工具链 (GCC 4.8.5) 在 Docker 中为 ARM 交叉编译 pcl-1.8.1。在 CMake 配置期间,我得到:
...
-- Performing Test HAVE_MM_MALLOC
-- Performing Test HAVE_MM_MALLOC - Failed
-- Performing Test HAVE_POSIX_MEMALIGN
CMake Error: TRY_RUN() invoked in cross-compiling mode, please set the following cache variables appropriately:
HAVE_POSIX_MEMALIGN_EXITCODE (advanced)
For details see /pcl-1.8.1/build/TryRunResults.cmake
-- Performing Test HAVE_POSIX_MEMALIGN - Failed
-- -- GCC > 4.3 found, enabling -Wabi
-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
...
是否有人通过任何更改知道此 HAVE_POSIX_MEMALIGN_EXITCODE
是什么以及在这种情况下该值应该是什么?为什么这首先会失败?
我已经使用相同的设置成功构建了 Boost
,因此编译器可以正常工作。
编辑:好的,现在我明白了它是 HAVE_POSIX_MEMALIGN
测试的退出代码。
最佳答案
与 try_run命令 CMake 编译并运行一些代码。
如果交叉编译,代码无法运行(它可以在目标机器上运行,而不是在宿主机器上运行配置已执行),因此 CMake 寻求帮助。
变量名称 HAVE_POSIX_MEMALIGN_EXITCODE 表明,需要运行 POSIX_MEMALIGN 功能测试,并且变量包含该测试的结果。
如果您知道目标机器支持该功能,您可以将缓存变量设置为0
(这意味着“成功”)。或者,如果目标机器不支持该功能,您可以将该变量设置为任何非零值。
或者,您可以将测试的可执行文件复制到目标机器,在那里运行并检查结果。之后,根据该结果设置缓存变量。
此外,现代 CMake 支持设置模拟器,因此 CMake 无需用户手动干预即可运行交叉编译的可执行文件。参见 CMAKE_CROSSCOMPILING_EMULATOR 的描述变量。
关于c++ - 交叉编译 PCL 时的 CMake 和 HAVE_POSIX_MEMALIGN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50133426/
我正在尝试使用 Jetson 工具链 (GCC 4.8.5) 在 Docker 中为 ARM 交叉编译 pcl-1.8.1。在 CMake 配置期间,我得到: ... -- Performing Te
我是一名优秀的程序员,十分优秀!