如何解决未知类型名称'va_list'
将Android Studio 4.1与ndk版本21.3.6528147和c ++一起使用,在构建过程中遇到以下错误:
In file included from G:/Repos/JTPieterse/jtpvk/android/jtpvkad/app/src/main/cpp/../../../../../../headers/Instance.hpp:4: In file included from G:\Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include\c++\v1\vector:273: In file included from G:\Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include\c++\v1\iosfwd:95: In file included from G:\Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include\c++\v1\wchar.h:118: In file included from G:\Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\local\include\wchar.h:32: In file included from G:\Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include\wchar.h:33: In file included from G:\Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include\c++\v1\stdio.h:107: G:\Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include\stdio.h:140:45: error: unknown type name 'va_list'; did you mean 'jtpvk::va_list'?
当我在编辑器中打开文件stdio.h并单击va_list上的ctrl-b时,它将显示文件stdarg.h,其中定义了typedef。因此,编辑器似乎正常工作。此外,在我的项目jtpvk中没有为va_list定义任何定义,因为问题提示例如'jtpvk :: va_list'
以某种方式我怀疑没有为编译器/链接器设置的路径或环境变量。
上面的列表在构建每个文件时会多次出现。 一些额外的行:
G:/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/include\stdio.h:302:62: error: unknown type name 'va_list'; did you mean 'jtpvk::va_list'? int vsnprintf(char* __buf,size_t __size,const char* __fmt,va_list __args) __printflike(3,0); G:\Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\9.0.8\include\stdarg.h:14:27: note: 'jtpvk::va_list' declared here typedef __builtin_va_list va_list; G:/Android/Sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/include\stdio.h:303:49: error: unknown type name 'va_list'; did you mean 'jtpvk::va_list'? int vsscanf(const char* __s,va_list __args) __scanflike(2,0); ^ G:\Android\Sdk\ndk\21.3.6528147\toolchains\llvm\prebuilt\windows-x86_64\lib64\clang\9.0.8\include\stdarg.h:14:27: note: 'jtpvk::va_list' declared here typedef __builtin_va_list va_list; fatal error: too many errors emitted,stopping now [-ferror-limit=] 20 errors generated. ninja: build stopped: subcommand failed.
Instance.hpp:
#pragma once
#include <VkLib.hpp>
#include <vector>
#include "Confirm.hpp"
#include "Settings.hpp"
namespace jtpvk
{
class Instance
{
public:
auto vk_instance() -> VkInstance;
auto initialize(Settings* settings_p) -> void;
auto finalize() -> void;
auto create() -> void;
auto add_layers(std::vector<const char*> instance_layers_p)->void;
private:
Settings* settings_m = nullptr;
VkInstance vk_instance_m = nullptr;
std::vector<const char*> instance_layers_m = {};
static auto create_application_info()->VkApplicationInfo;
static auto create_info()->VkInstanceCreateInfo;
};
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。