当我尝试在我的Android NDK项目中包含任何类似矢量的C++类时(使用最新的NDK r5b),我得到如下错误...
Compile++ thumb : test-libstl <= test-libstl.cpp
/Users/nitrex88/Desktop/Programming/EclipseProjects/STLTest/jni/test-libstl.cpp:3:18: error: vector: No such file or directory
在线报道此问题的其他人通过添加声称成功
APP_STL := stlport_static
到他们的Application.mk文件.我已经完成了这个,并尝试了APP_STL的所有其他可能的值.我已经清理到项目,运行ndk-build干净,删除了obj和libs文件夹,仍然在我编译它时找不到矢量类.我已经在这个问题上工作了好几个星期(自NDK r5问世以来),如果有人有任何建议,我会非常感激.谢谢!
以下代码在打印字符串后导致分段错误:
#include <iostream>
using namespace std;
int main()
{
cout << "ndktest" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
作为参考,这是我的Android.mk:
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := ndktest
LOCAL_SRC_FILES := main.cpp
include $(BUILD_EXECUTABLE)
Run Code Online (Sandbox Code Playgroud)
和Application.mk:
APP_STL := stlport_static
Run Code Online (Sandbox Code Playgroud)
这是来自logcat的崩溃:
I/DEBUG ( 872): pid: 4234, tid: 4234 >>> /data/ndktest <<<
I/DEBUG ( 872): signal 11 (SIGSEGV), fault addr 00024004
I/DEBUG ( 872): r0 00033824 r1 00001000 r2 00024005 r3 bea42cfc
I/DEBUG ( 872): r4 40008090 r5 0000000a r6 40008000 r7 afd42328 …Run Code Online (Sandbox Code Playgroud) 当我尝试执行NDK构建时,我得到以下错误列表...任何人都有任何线索?
encies\FreeImage/D:/Projects.CPP/Engine5/svn/trunk/Dependencies/FreeImage/jni/../Source/OpenEXR/IlmImf/ImfCheckedArithmetic.h:153: undefined reference to `__cxa_allocate_exception'
D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/Projects.CPP/Engine5/svn/trunk/Dependencies/FreeImage/jni/../Source/OpenEXR/IlmImf/ImfCheckedArithmetic.h:153: undefined reference to `__cxa_throw'
./obj/local/armeabi/libfreeimage.a(ImfPizCompressor.o): In function `std::_Rb_tree_const_iterator<std::pair<Imf::Name const, Imf::Channel> >::operator++()':
D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/NDK/sources/cxx-stl/gnu-libstdc++/include/bits/stl_tree.h:259: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
./obj/local/armeabi/libfreeimage.a(ImfPizCompressor.o): In function `PizCompressor':
D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/Projects.CPP/Engine5/svn/trunk/Dependencies/FreeImage/jni/../Source/OpenEXR/./IlmImf/ImfPizCompressor.cpp:228: undefined reference to `__cxa_end_cleanup'
./obj/local/armeabi/libfreeimage.a(ImfPizCompressor.o):(.ARM.extab.text._ZN3Imf13PizCompressorC2ERKNS_6HeaderEjj+0x0): undefined reference to `__gxx_personality_v0'
./obj/local/armeabi/libfreeimage.a(ImfPizCompressor.o): In function `std::_Rb_tree_const_iterator<std::pair<Imf::Name const, Imf::Channel> >::operator++()':
D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/NDK/sources/cxx-stl/gnu-libstdc++/include/bits/stl_tree.h:259: undefined reference to `std::_Rb_tree_increment(std::_Rb_tree_node_base const*)'
./obj/local/armeabi/libfreeimage.a(ImfPizCompressor.o): In function `PizCompressor':
D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/Projects.CPP/Engine5/svn/trunk/Dependencies/FreeImage/jni/../Source/OpenEXR/./IlmImf/ImfPizCompressor.cpp:228: undefined reference to `__cxa_end_cleanup'
./obj/local/armeabi/libfreeimage.a(ImfPizCompressor.o):(.ARM.extab.text._ZN3Imf13PizCompressorC1ERKNS_6HeaderEjj+0x0): undefined reference to `__gxx_personality_v0'
./obj/local/armeabi/libfreeimage.a(ImfPizCompressor.o):(.data.rel.ro+0x28): undefined reference to `vtable for __cxxabiv1::__si_class_type_info'
./obj/local/armeabi/libfreeimage.a(ImfPxr24Compressor.o): In function `Imf::(anonymous namespace)::notEnoughData()':
D:\Projects.CPP\Engine5\svn\trunk\Dependencies\FreeImage/D:/Projects.CPP/Engine5/svn/trunk/Dependencies/FreeImage/jni/../Source/OpenEXR/./IlmImf/ImfPxr24Compressor.cpp:165: undefined reference …Run Code Online (Sandbox Code Playgroud)