zoukankan      html  css  js  c++  java
  • 解决 “MoveFile”: 类型库“XXX.dll”中的标识符已经是宏;使用“rename”限定符 类型库符号与系统符号冲突问题

          今天在VS工程当中引入一个组件,编译的时候出现警告, “MoveFile”: 类型库“XXX.dll”中的标识符已经是宏;使用“rename”限定符。虽然只是一个警告,但看着实在不爽,更重要的是,警告在某些情况下,可能正是bug的来源,并且这类bug往往非常难以定位。废话不多话,下面来解决问题。

          看编译器给出的提示,是告诉我们,类型库当中的符号和系统符号有重名,同时也给出了解决方法,就是使用rename。怎么个rename法呢?其实很简单,我们在导入类型类的时候,直接#import语句后面,通过rename("conflictName","newName")命名,将我们类型库当中冲突的符号,替换成新的符号newName,如此一来就可以解决符号重名问题。

    以下是例子:

      #import ".\my.dll" no_namespace rename("MoveFile","myMoveFile") rename("CopyFile", "myCopyFile")

    也可以用""分行写,在VS里," " 和makefile里功能是一样的,将一行语句分成多行来写,如下:

    #import ".\my.dll" no_namespace

      rename("MoveFile","myMoveFile") 

      rename("CopyFile", "myCopyFile") 

    因为我的工程里有很多重名符号,分行写更加清晰。

  • 相关阅读:
    angular转场动画
    css常用单位
    css3美化滚动条样式
    grid布局
    angular使用material组件库和tailwindcss样式
    使用 BaGet 搭建 nuget 仓库
    net core api 文件下载,断点续传
    netcore 使用中间件响应文件下载请求
    angular通知组件--angular2-toaster
    angular图标组件--@visurel/iconify-angular
  • 原文地址:https://www.cnblogs.com/vathena/p/4099441.html
Copyright © 2011-2022 走看看