针对 android 编译的问题..."未在此范围内声明"错误
Issues compiling for android...'Was not declared in this scope' error
大家好,另一个C++编程问题。再次对我轻松,因为我刚刚开始学习C++。我在编译时收到一个错误,显示:
frameworks/native/libs/gui/SurfaceTextureClient.cpp: 在成员函数'virtual int>android::SurfaceTextureClient::setUsage(uint32_t)'中: frameworks/native/libs/gui/SurfaceTextureClient.cpp:498:20:错误:>'GRALLOC_USAGE_PRIVATE_EXTERNAL_ONLY'未在此范围内声明 frameworks/native/libs/gui/SurfaceTextureClient.cpp:503:23:错误:>'GRALLOC_USAGE_PRIVATE_EXTERNAL_BLOCK'未在此范围内声明 frameworks/native/libs/gui/SurfaceTextureClient.cpp:505:30:错误:>'GRALLOC_USAGE_PRIVATE_EXTERNAL_CC' 未在此范围内声明
以下是"SurfaceTextureClient.cpp"文件:
17 #define LOG_TAG "SurfaceTextureClient"
18 #define ATRACE_TAG ATRACE_TAG_GRAPHICS
19 //#define LOG_NDEBUG 0
20
21 #include <android/native_window.h>
22
23 #include <utils/Log.h>
24 #include <utils/Trace.h>
25
26 #include <gui/ISurfaceComposer.h>
27 #include <gui/SurfaceComposerClient.h>
28 #include <gui/SurfaceTexture.h>
29 #include <gui/SurfaceTextureClient.h>
30
31 #include <private/gui/ComposerService.h>
32 #ifdef QCOMHW
33 #include <gralloc_priv.h>
34 #endif
35
36 namespace android {
37
38 SurfaceTextureClient::SurfaceTextureClient(
39 const sp<ISurfaceTexture>& surfaceTexture)
40 {
41 SurfaceTextureClient::init();
42 SurfaceTextureClient::setISurfaceTexture(surfaceTexture);
43 }
44
45 // see SurfaceTextureClient.h
46 SurfaceTextureClient::SurfaceTextureClient(const
47 sp<SurfaceTexture>& surfaceTexture)
48 {
49 SurfaceTextureClient::init();
50 SurfaceTextureClient::setISurfaceTexture(surfaceTexture->getBufferQueue());
51 }
52
53 SurfaceTextureClient::SurfaceTextureClient() {
54 SurfaceTextureClient::init();
55 }
56
57 SurfaceTextureClient::~SurfaceTextureClient() {
58 if (mConnectedToCpu) {
59 SurfaceTextureClient::disconnect(NATIVE_WINDOW_API_CPU);
60
61 }
494 int SurfaceTextureClient::setUsage(uint32_t reqUsage)
493 {
494 ALOGV("SurfaceTextureClient::setUsage");
495 Mutex::Autolock lock(mMutex);
496
497 #ifdef QCOMHW
498 if (reqUsage & GRALLOC_USAGE_PRIVATE_EXTERNAL_ONLY) {
499 //Set explicitly, since reqUsage may have other values.
500 mReqExtUsage = GRALLOC_USAGE_PRIVATE_EXTERNAL_ONLY;
501 //This flag is never independent. Always an add-on to
502 //GRALLOC_USAGE_EXTERNAL_ONLY
503 if(reqUsage & GRALLOC_USAGE_PRIVATE_EXTERNAL_BLOCK) {
504 mReqExtUsage |= GRALLOC_USAGE_PRIVATE_EXTERNAL_BLOCK;
505 } else if(reqUsage & GRALLOC_USAGE_PRIVATE_EXTERNAL_CC) {
506 mReqExtUsage |= GRALLOC_USAGE_PRIVATE_EXTERNAL_CC;
507 }
508 }
509 #endif
如果需要更多信息,请告诉我。修复了此编译的先前错误。不知道这个该怎么做。
好吧,
我找到了我认为问题的解决方案,哈哈。源文件夹中的另一个 gralloc_priv.h 文件位于不同的目录下,并复制了该头文件中未作用域成员的声明,并且运行良好。如果有人遇到此问题,请告诉我,我会向您展示我在哪里找到文件。
相关文章:
- 错误:未在此范围内声明'reverse'
- 错误:"imread"未在此范围内声明
- 未在此范围内声明错误 'xy'
- Socklen_t未在此范围内声明
- 错误:'[' 之前预期的非限定 id 和错误:'users'未在此范围内声明
- "Main"已在当前范围内声明
- c++ 变量在宏的扩展中没有在这个范围内声明
- C++ 在编译过程中 strtok 函数 Eclipse 说没有在范围内声明?
- 'num1'未在此范围内声明
- 如何找到在本地范围内声明的变量的地址?
- NT状态未在此范围内声明
- 变量未在此范围内声明 数组线性搜索
- 包含文件中的 Typdef "未在此范围内声明"
- 'ClassName'和'ClassInstance'未在此范围内声明
- C++ 中的类之间的数据重新循环 - 错误:'<class name>'未在此范围内声明
- 代码作为 C 文件工作,但不作为C++文件,错误:'__builtin_types_compatible_p'未在此范围内声明
- 如何修复错误:"vreinterpretq_u32_f64"未在此范围内声明 - 在Android上使用Eigen构建
- 如何修复C++中的"arrStud未在此范围内声明"错误
- 错误:"SHGetKnownFolderPath"未在此范围内声明
- 错误:'Sprite'未在此范围内声明