gpt4 book ai didi

c++ - 如何用android ndk和eclipse编译c++11代码?

转载 作者:IT老高 更新时间:2023-10-28 22:30:24 26 4
gpt4 key购买 nike

我正在使用 android NDK r8d 和 eclipse Juno。我正在尝试在原生 android 项目中编译使用 C++11 内容的 C++ 代码,例如 mutexlock_guardshared_ptr 等在 eclipse 中。

我收到如下错误:

"error: 'shared_ptr' is not a member of 'std'"

"fatal error: mutex: No such file or directory"

我遇到了一个类似的问题 here .它似乎对他们有用,但那里的解释不完整,所以我无法让它对我有用。

我将 "NDK_TOOLCHAIN_VERSION=4.7" 添加到 Application.mk"LOCAL_CFLAGS += -std=c++11"Android.mk 文件。仍然无法编译。

在上面的链接中说:

"Be sure that the standard library include path (like /android-ndk-r8d/sources/cxx-stl/gnu-libstdc++/4.7/include) is in the target settings."

如何以及在何处插入?

我还在 Eclipse IDE 中遇到错误(在源代码上,在编译之前)。我知道我应该定义 "__GXX_EXPERIMENTAL_CXX0X__" 来解决它们,但我只是不知道把它放在哪里。

所以,如果有人可以发布一个答案,并完整解释如何编译和使 eclipse 与 C++11 一起工作,那就太好了。

最佳答案

关于你的第一个问题:

  1. 转到项目 > 属性 > C/C++ 常规/路径和符号

  2. 在“包含”选项卡中,添加正确的目录,例如/android-ndk-r8d/sources/cxx-STL/gnu-libstdc++/4.7/include

关于你的第二个问题,我也在寻找答案。绝对不清楚如何在 Eclipse 中定义 GXX_EXPERIMENTAL_CXX0X 宏。

有人说它应该“作为预定义的宏添加到索引器中”,但看起来我们都找不到实现它的方法......

我在其他地方读到它应该被添加到“C/C++ General/Paths and Symbols/Symbols/GNU C++”,但我在我的 Indigo 版本中找不到“Symbols/GNU C++”部分。

关于c++ - 如何用android ndk和eclipse编译c++11代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15269496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com