针对ARM的Chromium嵌入式交叉编译



我已经成功地为x86构建了CEF,现在我正在尝试为ARM交叉编译它。我几乎做到了,但遇到了一个平台原子操作支持的问题:

In file included from ../../cef/include/base/cef_atomic_ref_count.h:55:0,
             from ../../cef/include/cef_base.h:35,
             from ../../cef/include/cef_auth_callback.h:41,
             from ../../cef/include/cef_request_handler.h:41,
             from ../../cef/libcef_dll/ctocpp/allow_certificate_error_callback_ctocpp.h:21,
             from ../../cef/libcef_dll/ctocpp/allow_certificate_error_callback_ctocpp.cc:13:
../../cef/include/base/cef_atomicops.h:187:2: error: #error "Atomic operations are not supported on your platform"

在我看来,默认情况下,它只支持x86和mac平台。对我来说,CEF需要一些x86功能,而缺乏对其他平台的支持,这似乎很奇怪。尽管我在生成忍者文件时在GYP_DEFINES中使用了GYP_CROSSCOMPILE=1和"target_arch=arm embedded=1"。

那么,有什么方法可以关闭CEF中原子操作的使用吗?或者有其他方法可以克服这个问题吗?

提前感谢!

我找到了答案。有些东西在定义上被打破了。如果定义BUILDING_CEF_SHARED,它将开始使用支持ARM平台的铬原子。

最新更新