#include <exception> - 没有那个文件或目录

#include <exception> - No such file or directory

我目前正在尝试使用 Android 交叉编译工具链为 Android 编译 GnuTLS(用于 wget)。

我已经修复了很多缺少库的错误,但现在我得到了错误

./includes/gnutls/gnutlsxx.h:26:21: fatal error: exception: No such file or directory

#include <exception>

我正在使用“arm-linux-androideabi-gcc (GCC) 4.9 20140827(预发布版)”并使用此脚本https://gist.github.com/z3ntu/57b95b02ebe8e153d5a8 设置环境变量。

你想要运行下面的命令,它会告诉你gcc的预处理器在哪里。然后在这里询问预处理器它正在寻找 C++ 头文件:

gcc -print-prog-name=cc1plus -v

然后相应地调整您的设置。

其实是我自己解决的...(还是感谢大家的帮助!)

所有想知道如何为 Android 编译 GnuTLS 的人:

  • 创建一个独立的工具链:从 NDK 根目录执行 build/tools/make-standalone-toolchain.sh --platform=android-21 --install-dir=<your_directory> --toolchain=arm-linux-androideabi-4.9 --stl=gnustl(可能是 ~/Android/Sdk/ndk-bundle/
  • 在你的 LDFLAGS 中用额外的 -lgnustl_shared 编译它。