Google chrome 从源代码编译clank(Android版Chrome)时会出现错误:stdio.h:没有这样的文件或目录

Google chrome 从源代码编译clank(Android版Chrome)时会出现错误:stdio.h:没有这样的文件或目录,google-chrome,Google Chrome,我正试图从268MB的Chrome_Android.v18.0.1025123.tgz中编译clank(现在称为Chrome for Android?): 我在那里遵循了README.Chrome\u for\u Android\u SourceDistribution,并从master上构建了Android(截至2012年7月31日) 然后我进入了我用以下方法构建叮当的部分: cd external/chrome && . build/android/envsetup.sh &

我正试图从268MB的Chrome_Android.v18.0.1025123.tgz中编译clank(现在称为Chrome for Android?):

我在那里遵循了README.Chrome\u for\u Android\u SourceDistribution,并从master上构建了Android(截至2012年7月31日)

然后我进入了我用以下方法构建叮当的部分:

cd external/chrome && . build/android/envsetup.sh && clank_gyp && make -j16 libchromeview.so
起初,我缺少一些未提及的依赖项,这些依赖项很容易通过以下方式修复:

sudo apt-get install libgtk2.0-dev libgconf2-dev libgnome-keyring-dev libdbus-glib-1-dev libudev-dev 
现在我看到编译错误如下:

 In file included from third_party/skia/include/core/SkTypes.h:15:0,
             from third_party/skia/include/core/SkTime.h:13,
             from third_party/skia/src/animator/SkTime.cpp:10:
 third_party/skia/include/core/SkPostConfig.h:145:27: fatal error: stdio.h: No such file or directory
我在android源代码的许多文件夹中看到stdio.h

我怎么知道该用哪一个?为什么正确的一个没有被使用


另外,我正在使用Ubuntu12.04-amd64,我想为Nexus 7编译clank。

您可能需要其他依赖项,为了确保您的环境设置为指向SDK,您可能需要查看此网站:
我发现了问题所在。我用它来查看构建的更多输出:

出口V=1

这使我注意到以下包含目录不正确:

-I/home/alex/android/master/prebuilt/ndk/android-ndk-r8/platforms/android-9/arch-arm/usr/include
它应该是“../prebuilds/…”而不是“../prebuild/…”:

我使用了一个简单的解决方法:

ln -s /home/alex/android/master/prebuilts /home/alex/android/master/prebuilt
这允许进一步编译


在成功编译之前,我还必须解决另外两个问题,但它们与此问题无关。

感谢您提供这些说明的指针。不过,我可以在没有安装Android SDK的情况下编译,而是在~/Android/master/prebuild中使用ndk和SDK
ln -s /home/alex/android/master/prebuilts /home/alex/android/master/prebuilt