解决 “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") \

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

时间: 2024-12-20 03:52:42

解决 “MoveFile”: 类型库“XXX.dll”中的标识符已经是宏;使用“rename”限定符 类型库符号与系统符号冲突问题的相关文章

java5核心基础之泛型(3)-泛型作用于编译阶段-怎样将String对象传入Integer类型的泛型对象中?

泛型作用于编译阶段: 泛型是作用于编译阶段,在编译阶段控制类型,以确保在编写代码的时候仅仅能传入指定类型数据到泛型集合对象中去. 怎样验证呢,贴代码例如以下: package highBasic.generic; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; public class StringAddToGeneri

java5核心基础之泛型(3)-泛型作用于编译阶段-如何将String对象传入Integer类型的泛型对象中?

泛型作用于编译阶段: 泛型是作用于编译阶段,在编译阶段控制类型,以确保在编写代码的时候只能传入指定类型数据到泛型集合对象中去.如何验证呢,贴代码如下: package highBasic.generic; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; public class StringAddToGenericInt

关于GLSL中的限定符的一些记录

glsl是什么就不多说了.这里只介绍一下glsl中一些限定符. glsl中包含两类具有定义性质的符号,一类是和c++中定义变量的一样的符号,用来说明存放数据的类型,如float,int,bool.还有一类是的功能类似于c++中的private,protect,public,是用来说明变量被访问的方式,glsl中常用的限定符包含三个,uniform,attribute 以及 varying,称为限定符(还有一个const,就不多说了). uniform限定了该变量是随着图元变化而变化的,也就是说在

修饰符类型

C++ 修饰符类型 C++ 允许在 char.int 和 double 数据类型前放置修饰符.修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求. 下面列出了数据类型修饰符: signed unsigned long short 修饰符 signed.unsigned.long 和 short 可应用于整型,signed 和 unsigned 可应用于字符型,long 可应用于双精度型. 修饰符 signed 和 unsigned 也可以作为 long 或 short 修饰符的前缀.例如

[转帖] 关于形如--error LNK2005: xxx 已经在 msvcrtd.lib ( MSVCR90D.dll ) 中定义--的问题分析解决

原文:http://www.cnblogs.com/qinfengxiaoyue/archive/2013/02/01/2889668.html 转自:http://hi.baidu.com/qinfengxiaoyue/item/ff262ccfb53b4c2ba0b50a89 引自:http://blog.csdn.net/sptoor/archive/2011/02/23/6203376.aspx 对全文有改动. 提示:阅读前需要对静态库(.lib).动态库(.dll).导入库(这个还是.

未经处理的异常在 System.Data.dll 中发生。其他信息:在应使用条件的上下文(在 '***' 附近)中指定了非布尔类型的表达式。

机房收费系统中,有些人在联合查询这个模块用的是存储过程,我先尝试着在数据库中建立了一个视图,然后在UI层做个判断并生成查询条件strCondition. 在机房收费系统的"联合查询"模块中出现的问题:"System.Data.SqlClient.SqlException"类型的未经处理的异常在 System.Data.dll 中发生.其他信息: 在应使用条件的上下文(在 '@strCondition' 附近)中指定了非布尔类型的表达式. 出错的DAL层代码为: Pu

“System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。

如果你的 WebService 客户端证书配置都没问题,唯独调用接口会出现这个错误 "System.FormatException"类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效. 解决办法: 打开你的证书列表,找到证书指纹: 接下来是重点,复制的时候,切记不要用全选,像这样: 要用鼠标仔细的从第一个"可见"字符选起,到"可见"字符结束,像这样: 请仔细对比以上两张图的差别,不

EF异常:“System.InvalidOperationException”类型的未经处理的异常在 mscorlib.dll 中发生

{"无法为具有固定名称"System.Data.SqlServer"的 ADO.NET 提供程序加载在应用程序配置文件中注册的实体框架提供程序类型"System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact".请确保使用限定程序集的名称且该程序集对运行的应用程序可用.有关详细信息,请参阅 http://go.microsoft.com

System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生

错误背景: 操作系统:编程环境:VS2013:  语言:VB.net:  数据库:SQLserver2008 做数据库连接时,发生的错误: 错误提示为: 说明:用VB.net连接SQLServer数据库 第一种情况: 连接字符串为"Server=(Local);Database=charge_sys;UserID = sa;Password=123456"时,连接没问题: 第二种情况: 当把" Server=(Local)"换为 " Server=192.