我正在编写一些代码,因为我被要求开发有关程序核心部分的 c++ 代码。 但是,这是我第一次使用 ndk,所以我遇到了一些麻烦并解决了。 然而,太难的问题来找我了。我已经用 ndk 构建了我的 c++ 代码,但是, 它说,
.h:3:20:错误:字符串:没有这样的文件或目录 .h:5: 错误:'std::string' 尚未声明
以及任何其他有关此的错误。 下面是我写的“Android.mk”文件:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := clibs
LOCAL_SRC_FILES := sqlite3.c
LOCAL_LDLIBS := -llog
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
LOCAL_DEFAULT_CPP_EXTENSION := cpp
LOCAL_MODULE := mytweetlib
LOCAL_STATIC_LIBRARIES := clibs
LOCAL_SRC_FILES := Friend.cpp SQLiteDB.cpp Cursor.cpp DB4Friends.cpp ResultParser.cpp MyTweet.cpp Stub.cpp
include $(BUILD_SHARED_LIBRARY)
我试图链接 .c 文件(sqlite3.c)制作静态库文件和另一个文件(要构建到共享库)。 有人知道吗?即使它只是很少的线索,请给我。 (我一直没有解决这个问题)
最佳答案
似乎没有告知 NDK 使用 STL 端口。
尝试添加一个包含 APP_STL 的 Application.mk 文件。这会将 STLport header 添加到包含路径,并链接到库。
APP_STL := stlport_static
关于android-ndk - 在 ndk 环境中构建 C++ 代码时出现问题 w/std::string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7140705/