gpt4 book ai didi

android - 不能使用 typedef 枚举

转载 作者:行者123 更新时间:2023-11-30 04:58:56 25 4
gpt4 key购买 nike

我有一个头文件定义:

typedef enum acamera_metadata_enum_android_lens_facing {
// enumeration
} acamera_metadata_enum_android_lens_facing_t;

问题是当我试图将此枚举声明为我类的成员时,编译器找不到定义(找到 header )。

../../../../src/main/cpp/include/camera_manager.h:41:9: error: unknown type name 'acamera_metadata_enum_android_lens_facing_t'
acamera_metadata_enum_android_lens_facing_t facing;

这是我的类(class)标题:

#ifndef DAVINCI_CAMERA_MANAGER_H
#define DAVINCI_CAMERA_MANAGER_H

#include <map>
#include <string>
#include <camera/NdkCameraManager.h>
#include <camera/NdkCameraError.h>
#include <camera/NdkCameraDevice.h>
#include <camera/NdkCameraMetadataTags.h> // The enumeration is defined here
#include <media/NdkImageReader.h>

namespace DaVinci {
class CameraId;

class CameraManager {
struct ACameraManager *_manager;
std::map<std::string, CameraId> _cameras;
std::string _activeCameraId;

int32_t _cameraFacing;
int32_t _cameraOrientation;

bool _valid;

public:
CameraManager();
~CameraManager();
};

// helper classes to hold enumerated camera
class CameraId {
public:
struct ACameraDevice *device;
std::string id;
acamera_metadata_enum_android_lens_facing_t facing;
bool available; // free to use ( no other apps are using
bool owner; // we are the owner of the camera

explicit CameraId(const char *id);
explicit CameraId();
};
};

#endif //DAVINCI_CAMERA_MANAGER_H

问题出在哪里?
P.S. 如果它很重要,我正在使用 c++ 14。

已更新
我用我的项目创建了一个存储库:https://bitbucket.org/ghostman2013/davinci_test

最佳答案

在您项目的 app/build.gradle 中,您将 minSdkVersion 设置为 21。

原生相机 API were added in API level 24 .

因此,您可以 A) 将 minSdkVersion 增加到 24 或更高,或者 B) 不使用库中的原生相机 API。

关于android - 不能使用 typedef 枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51461228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com