我试图交叉编译pcl-1.8.1的ARM在码头与Jetson工具链(GCC 4.8.5)。在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测试的退出代码。
发布于 2018-05-02 12:12:45
使用跑命令CMake编译和运行一些代码。
如果交叉编译,代码无法运行(它可以在目标计算机上运行,而不是在执行配置的主机上运行),因此CMake请求帮助。
变量名HAVE_POSIX_MEMALIGN_EXITCODE表示,需要运行对POSIX_MEMALIGN特性的测试,并且变量包含该测试的结果。
0 (这意味着“成功”)。或者,如果目标机器上不支持该功能,则可以将该变量设置为任意非零值。https://stackoverflow.com/questions/50133426
复制相似问题