Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 尝试构建CyanogenMod相机应用程序时发生NDK错误_Android_Android Ndk - Fatal编程技术网

Android 尝试构建CyanogenMod相机应用程序时发生NDK错误

Android 尝试构建CyanogenMod相机应用程序时发生NDK错误,android,android-ndk,Android,Android Ndk,先前问题的后续问题: 我一直在尝试从中构建ICS摄像头应用程序。 我在Windows 7上,UAC关闭。使用Cygwin和最新的Android NDK 在工作区上尝试了chmod-R 777,在我的Android.mk文件中添加了NDK\u工具链版本:=4.4.3和LOCAL\u LDLIBS:=-L$(SYSROOT)/usr/lib-llog,但无论我做什么,我仍然会遇到以下错误: Compile++ thumb : jni_mosaic <= feature_mos_jni.cpp

先前问题的后续问题:

我一直在尝试从中构建ICS摄像头应用程序。 我在Windows 7上,UAC关闭。使用Cygwin和最新的Android NDK

在工作区上尝试了chmod-R 777,在我的Android.mk文件中添加了
NDK\u工具链版本:=4.4.3
LOCAL\u LDLIBS:=-L$(SYSROOT)/usr/lib-llog
,但无论我做什么,我仍然会遇到以下错误:

Compile++ thumb  : jni_mosaic <= feature_mos_jni.cpp
In file included from jni/feature_mos_jni.cpp:21:0:
C:/android-ndk/platforms/android-14/arch-arm/usr/include/jni.h:592:13: note: the mangling of 'va_list' has changed in GCC 4.4
Compile++ thumb  : jni_mosaic <= mosaic_renderer_jni.cpp
In file included from jni/mosaic_renderer_jni.cpp:19:0:
C:/android-ndk/platforms/android-14/arch-arm/usr/include/jni.h:592:13: note: the mangling of 'va_list' has changed in GCC 4.4
Compile++ thumb  : jni_mosaic <= trsMatrix.cpp
Compile++ thumb  : jni_mosaic <= AlignFeatures.cpp
Compile++ thumb  : jni_mosaic <= Blend.cpp
Compile++ thumb  : jni_mosaic <= Delaunay.cpp
Compile++ thumb  : jni_mosaic <= ImageUtils.cpp
Compile++ thumb  : jni_mosaic <= Mosaic.cpp
Compile++ thumb  : jni_mosaic <= Pyramid.cpp
Compile++ thumb  : jni_mosaic <= Renderer.cpp
Compile++ thumb  : jni_mosaic <= WarpRenderer.cpp
Compile++ thumb  : jni_mosaic <= SurfaceTextureRenderer.cpp
Compile++ thumb  : jni_mosaic <= YVURenderer.cpp
Compile++ thumb  : jni_mosaic <= FrameBuffer.cpp
Compile++ thumb  : jni_mosaic <= db_feature_detection.cpp
Compile++ thumb  : jni_mosaic <= db_feature_matching.cpp
Compile++ thumb  : jni_mosaic <= db_framestitching.cpp
Compile++ thumb  : jni_mosaic <= db_image_homography.cpp
Compile++ thumb  : jni_mosaic <= db_rob_image_homography.cpp
Compile++ thumb  : jni_mosaic <= db_utilities.cpp
Compile++ thumb  : jni_mosaic <= db_utilities_camera.cpp
Compile++ thumb  : jni_mosaic <= db_utilities_indexing.cpp
Compile++ thumb  : jni_mosaic <= db_utilities_linalg.cpp
Compile++ thumb  : jni_mosaic <= db_utilities_poly.cpp
Compile++ thumb  : jni_mosaic <= dbreg.cpp
Compile++ thumb  : jni_mosaic <= dbstabsmooth.cpp
Compile thumb  : jni_mosaic <= vp_motionmodel.c
SharedLibrary  : libjni_mosaic.so
./obj/local/armeabi/objs/jni_mosaic/mosaic_renderer_jni.o: In function `checkGLErrorDetail(char const*, int, char const*)':
D:\CMCam/jni/mosaic_renderer_jni.cpp:195: undefined reference to `glGetError'
./obj/local/armeabi/objs/jni_mosaic/mosaic_renderer_jni.o: In function `checkFramebufferStatus(char const*)':
D:\CMCam/jni/mosaic_renderer_jni.cpp:177: undefined reference to `glCheckFramebufferStatus'
./obj/local/armeabi/objs/jni_mosaic/mosaic_renderer_jni.o: In function `bindSurfaceTexture(unsigned int)':
D:\CMCam/jni/mosaic_renderer_jni.cpp:211: undefined reference to `glBindTexture'
D:\CMCam/jni/mosaic_renderer_jni.cpp:215: undefined reference to `glTexParameterf'
D:\CMCam/jni/mosaic_renderer_jni.cpp:217: undefined reference to `glTexParameterf'
D:\CMCam/jni/mosaic_renderer_jni.cpp:220: undefined reference to `glTexParameteri'
D:\CMCam/jni/mosaic_renderer_jni.cpp:222: undefined reference to `glTexParameteri'
./obj/local/armeabi/objs/jni_mosaic/mosaic_renderer_jni.o: In function `Java_com_android_camera_MosaicRenderer_init':
D:\CMCam/jni/mosaic_renderer_jni.cpp:528: undefined reference to `glBindFramebuffer'
D:\CMCam/jni/mosaic_renderer_jni.cpp:530: undefined reference to `glGenTextures'
./obj/local/armeabi/objs/jni_mosaic/mosaic_renderer_jni.o: In function `Java_com_android_camera_MosaicRenderer_transferGPUtoCPU':
D:\CMCam/jni/mosaic_renderer_jni.cpp:695: undefined reference to `glBindFramebuffer'
D:\CMCam/jni/mosaic_renderer_jni.cpp:703: undefined reference to `glReadPixels'
D:\CMCam/jni/mosaic_renderer_jni.cpp:708: undefined reference to `glBindFramebuffer'
D:\CMCam/jni/mosaic_renderer_jni.cpp:716: undefined reference to `glReadPixels'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/Renderer.o: In function `Renderer::loadShader(unsigned int, char const*)':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:39: undefined reference to `glCreateShader'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:41: undefined reference to `glShaderSource'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:42: undefined reference to `glCompileShader'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:44: undefined reference to `glGetShaderiv'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:47: undefined reference to `glGetShaderiv'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:51: undefined reference to `glGetShaderInfoLog'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:56: undefined reference to `glDeleteShader'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/Renderer.o: In function `Renderer::createProgram(char const*, char const*)':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:78: undefined reference to `glCreateProgram'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:81: undefined reference to `glAttachShader'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:83: undefined reference to `glAttachShader'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:86: undefined reference to `glLinkProgram'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:88: undefined reference to `glGetProgramiv'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:95: undefined reference to `glGetProgramiv'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:106: undefined reference to `glDeleteProgram'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:101: undefined reference to `glGetProgramInfoLog'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/Renderer.o: In function `Renderer::SetupGraphics(int, int)':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:126: undefined reference to `glUseProgram'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:129: undefined reference to `glBindFramebuffer'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:135: undefined reference to `glViewport'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/Renderer.o: In function `Renderer::SetupGraphics(FrameBuffer*)':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:157: undefined reference to `glUseProgram'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:160: undefined reference to `glBindFramebuffer'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:166: undefined reference to `glViewport'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/Renderer.o: In function `Renderer::Clear(float, float, float, float)':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:185: undefined reference to `glClearColor'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/Renderer.cpp:186: undefined reference to `glClear'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/WarpRenderer.o: In function `WarpRenderer::InitializeGLProgram()':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:101: undefined reference to `glDeleteProgram'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:82: undefined reference to `glUseProgram'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:86: undefined reference to `glGetAttribLocation'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:87: undefined reference to `glGetUniformLocation'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:88: undefined reference to `glGetUniformLocation'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:89: undefined reference to `glGetUniformLocation'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:90: undefined reference to `glGetAttribLocation'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:93: undefined reference to `glGetUniformLocation'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/WarpRenderer.o: In function `WarpRenderer::DrawTexture(float*)':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:119: undefined reference to `glDisable'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:121: undefined reference to `glActiveTexture'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:125: undefined reference to `glBindTexture'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:129: undefined reference to `glUniform1i'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:133: undefined reference to `glVertexAttribPointer'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:137: undefined reference to `glVertexAttribPointer'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:139: undefined reference to `glEnableVertexAttribArray'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:140: undefined reference to `glEnableVertexAttribArray'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:143: undefined reference to `glUniformMatrix4fv'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:144: undefined reference to `glUniformMatrix4fv'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:145: undefined reference to `glUniformMatrix4fv'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:148: undefined reference to `glDrawElements'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/WarpRenderer.cpp:152: undefined reference to `glBindFramebuffer'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.o: In function `SurfaceTextureRenderer::InitializeGLProgram()':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:110: undefined reference to `glDeleteProgram'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:92: undefined reference to `glUseProgram'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:95: undefined reference to `glGetAttribLocation'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:97: undefined reference to `glGetAttribLocation'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:99: undefined reference to `glGetUniformLocation'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:101: undefined reference to `glGetUniformLocation'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:103: undefined reference to `glPixelStorei'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.o: In function `SurfaceTextureRenderer::DrawTexture(float*)':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:128: undefined reference to `glDisable'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:130: undefined reference to `glActiveTexture'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:134: undefined reference to `glBindTexture'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:137: undefined reference to `glUniformMatrix4fv'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:138: undefined reference to `glUniformMatrix4fv'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:142: undefined reference to `glVertexAttribPointer'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:143: undefined reference to `glEnableVertexAttribArray'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:146: undefined reference to `glVertexAttribPointer'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:147: undefined reference to `glEnableVertexAttribArray'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:150: undefined reference to `glDrawElements'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/SurfaceTextureRenderer.cpp:152: undefined reference to `glBindFramebuffer'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/YVURenderer.o: In function `YVURenderer::InitializeGLProgram()':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:70: undefined reference to `glDeleteProgram'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:54: undefined reference to `glUseProgram'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:58: undefined reference to `glGetAttribLocation'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:59: undefined reference to `glGetAttribLocation'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:62: undefined reference to `glGetUniformLocation'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/YVURenderer.o: In function `YVURenderer::DrawTexture()':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:88: undefined reference to `glDisable'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:90: undefined reference to `glActiveTexture'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:94: undefined reference to `glBindTexture'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:98: undefined reference to `glUniform1i'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:102: undefined reference to `glVertexAttribPointer'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:106: undefined reference to `glVertexAttribPointer'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:108: undefined reference to `glEnableVertexAttribArray'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:109: undefined reference to `glEnableVertexAttribArray'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:112: undefined reference to `glDrawElements'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/YVURenderer.cpp:116: undefined reference to `glBindFramebuffer'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/FrameBuffer.o: In function `FrameBuffer::CreateBuffers()':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/FrameBuffer.cpp:72: undefined reference to `glGenFramebuffers'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/FrameBuffer.cpp:73: undefined reference to `glGenTextures'
./obj/local/armeabi/objs/jni_mosaic/feature_mos/src/mosaic_renderer/FrameBuffer.o: In function `FrameBuffer::Init(int, int, unsigned int)':
D:\CMCam/jni/feature_mos/src/mosaic_renderer/FrameBuffer.cpp:30: undefined reference to `glBindFramebuffer'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/FrameBuffer.cpp:31: undefined reference to `glBindTexture'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/FrameBuffer.cpp:41: undefined reference to `glTexImage2D'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/FrameBuffer.cpp:45: undefined reference to `glTexParameteri'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/FrameBuffer.cpp:46: undefined reference to `glTexParameteri'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/FrameBuffer.cpp:49: undefined reference to `glTexParameteri'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/FrameBuffer.cpp:50: undefined reference to `glTexParameteri'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/FrameBuffer.cpp:57: undefined reference to `glFramebufferTexture2D'
D:\CMCam/jni/feature_mos/src/mosaic_renderer/FrameBuffer.cpp:67: undefined reference to `glBindFramebuffer'
collect2: ld returned 1 exit status
/cygdrive/c/android-ndk/build/core/build-binary.mk:378: recipe for target `obj/local/armeabi/libjni_mosaic.so' failed
make: *** [obj/local/armeabi/libjni_mosaic.so] Error 1

Compile++thumb:jni_mosaic为了更好地理解NDK如何解释您的
Android.mk
,您可以运行

ndk-build V=1
这将回显所有执行的命令,包括编译和链接,以及NDK build分配的所有参数

通常,NDK将包括目录
C:/android NDK/platforms/android-14/arch arm/usr/lib/
。如果由于任何原因未在链接命令行上指定此路径(请参见上文V=1),则应手动将其添加到
LOCAL\u LDLIBS

LOCAL_LDLIBS += C:/android-ndk/platforms/android-14/arch-arm/usr/lib
氰树中的make文件未准备用于
ndk build
。它不使用打包在NDK中的预构建系统库,而是引用它希望在
午餐
早午餐
期间构建的库。这就是为什么它有这条线

LOCAL_SHARED_LIBRARIES := liblog libnativehelper libGLESv2
你不需要建造这棵树;因此,这些库不是本地的。但是,您必须向链接器提供这三个选项:

LOCAL_LDLIBS += -llog -lnativehelper -lGLESv2
不幸的是,NDK只提供了两个
libnativehelper。因此
不是公共API的一部分。这意味着在理论上,你不应该依赖它。但实际上,这个库在所有设备上都存在,并且它的接口非常稳定

您可以使用命令从设备甚至模拟器中提取此二进制文件

adb pull /system/lib/libnativehelper.so C:/android-ndk/platforms/android-14/arch-arm/usr/lib

为了更好地理解NDK如何解释您的
Android.mk
,您可以运行

ndk-build V=1
这将回显所有执行的命令,包括编译和链接,以及NDK build分配的所有参数

通常,NDK将包括目录
C:/android NDK/platforms/android-14/arch arm/usr/lib/
。如果由于任何原因未在链接命令行上指定此路径(请参见上文V=1),则应手动将其添加到
LOCAL\u LDLIBS

LOCAL_LDLIBS += C:/android-ndk/platforms/android-14/arch-arm/usr/lib
氰树中的make文件未准备用于
ndk build
。它不使用打包在NDK中的预构建系统库,而是引用它希望在
午餐
早午餐
期间构建的库。这就是为什么它有这条线

LOCAL_SHARED_LIBRARIES := liblog libnativehelper libGLESv2
你不需要建造这棵树;因此,这些库不是本地的。但是,您必须向链接器提供这三个选项:

LOCAL_LDLIBS += -llog -lnativehelper -lGLESv2
不幸的是,NDK只提供了两个
libnativehelper。因此
不是公共API的一部分。这意味着在理论上,你不应该依赖它。但实际上,这个库在所有设备上都存在,并且它的接口非常稳定

您可以使用命令从设备甚至模拟器中提取此二进制文件

adb pull /system/lib/libnativehelper.so C:/android-ndk/platforms/android-14/arch-arm/usr/lib

您在
$(SYSROOT)/usr/lib
中有什么?@AlexCohn我不知道:)已更改为LOCAL_LDLIBS:=-llog。我是新手,所以我不太确定是否需要编辑Google编写的代码。我知道主要问题是我缺少GLES2库,但不知道在哪里可以找到它们/如何添加它们。你在
$(SYSROOT)/usr/lib中有什么?@AlexCohn我不知道:)更改为LOCAL_LDLIBS:=-llog。我是新手,所以我不太确定是否需要编辑Google编写的代码。我知道主要问题是我缺少GLES2库,但不知道在哪里可以找到它们/如何添加它们。非常感谢您再次花时间帮助我,并提供了如此详细的答复!工作得很有魅力。。。但最重要的是,我在这里学到了很多!再次感谢:)非常感谢您抽出时间再次帮助我,并给予如此详细的答复!工作得很有魅力。。。但最重要的是,我在这里学到了很多!再次感谢:)