c++ - 编译器错误 - 元数据操作失败

标签 c++ c++-cli

我收到这个错误:

    Joke.obj : error LNK2022: metadata operation failed (80131187) : Inconsistent method declarations in duplicated types (types: SE.Crypt; methods: GetVolumeInformationA): (0x06000008).
    LINK : fatal error LNK1215: metadata operation failed (8013118A) :

这是头文件中的代码:

    private:
            [System::Runtime::InteropServices::DllImport("kernel32.dll")]
            static Int64 GetVolumeInformation(String ^PathName, StringBuilder ^VolumeNameBuffer, UInt32 VolumeNameSize, UInt32 %VolumeSerialNumber, UInt32 %MaximumComponentLength, UInt32 %FileSystemFlags, StringBuilder ^FileSystemNameBuffer, UInt32 FileSystemNameSize);

有什么想法吗?

谢谢

最佳答案

GetVolumeInformation 返回不映射到 Int64 的 BOOL。

顺便说一句,当您调用此函数的 ANSI 版本时,您可能会遇到麻烦。 Windows 7 创建系统保留分区时,安装程​​序会根据安装程序的语言为其指定一个卷名,该卷名不必与您将在其中执行的环境相匹配。最好调用 Unicode 版本。

关于c++ - 编译器错误 - 元数据操作失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9169026/

相关文章:

c++ - 我可以对 QTimers 和信号使用 C++ 对象创建优化吗?

.net - 调用 XmlReader::ReadStartElement 时抛出 InvalidOperationException

c++ - Console::WriteLine() 与 cout

visual-c++ - Visual C++/CLI - CLR 类 - LNK2020 错误 - 如何修复?

C++\CLI LNK Error 2019 & 2028 with Included .h and .lib (Linker finds those Files) [Wrapper]

c++ - 类成员和显式堆栈/堆分配

c++ - 用 C++ lambda 模仿 Obj-C block 行为

c++ - 如何从函数中读取文件中的数据

c++ - 奇怪的 NullReferenceException 尽管空检查

c++ - 使用初始化列表作为函数参数实现 operator[] 的类对象示例