用于ARM的Chromium Embedded交叉编译

时间:2014-09-15 13:50:27

标签: arm cross-compiling atomic chromium-embedded

我已经成功为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中关闭原子操作的使用?或者任何其他方法来克服这个问题?

提前致谢!

1 个答案:

答案 0 :(得分:1)

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