Android NDK r6b를 사용하여 공유 라이브러리를 컴파일하고 있습니다. 모든 클래스는 C++입니다. 경고 : 'void checkGlError (const char *)'가 사용되었지만 정의되지 않았습니다.
내가 가지고있는 다음과 같은 두 개의 클래스 :Utils.hpp
#ifdef USE_OPENGL_ES_1_1
#include <GLES/gl.h>
#include <GLES/glext.h>
#else
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#endif
#include <android/log.h>
// Utility for logging:
#define LOG_TAG "ROTATEACCEL"
#define LOG(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
#ifdef __cplusplus
extern "C" {
#endif
static void checkGlError(const char* op);
#ifdef __cplusplus
}
#endif
Utils.cpp
#include "Utils.hpp"
#ifdef __cplusplus
extern "C" {
#endif
static void checkGlError(const char* op) {
for (GLint error = glGetError(); error; error
= glGetError()) {
LOGI("after %s() glError (0x%x)\n", op, error);
}
}
#ifdef __cplusplus
}
#endif
내가 다른 C++ 파일에이 기능을 사용하려면 I #include "Utils.hpp"
.
undefined reference to `checkGlError'
이유는이 경고를 받고 있습니다 :하지만, 해당 파일에 오류가 발생합니다?