关于xmllite的有关问题,恳请高手解答一下
关于xmllite的问题,恳请高手解答一下!
我在一个DLL中调用了xmllite,编译的时候会报xmllite.h文件错误如下:
而我在普通的win32控制台程序中可以正常加载xmllite.lib xmllite.h等
是不是xmllite不支持DLL啊
看了半天 xmllite.h头上写了写编译配置的东西,也不知道是不是跟这个有关,请高手解答一下,多谢
------解决方案--------------------
error C2086: 'int IXmlReader' : redefinition
检查一下哪里有重复定义的地方
或者xmllite的头文件里面放了一些实现的东东,然后你的编译选项,有跟调用的lib不一致
我在一个DLL中调用了xmllite,编译的时候会报xmllite.h文件错误如下:
- C/C++ code
error C2146: syntax error : missing ';' before identifier 'IXmlReader' error C4430: missing type specifier - int assumed. Note: C++ does not support default-int error C2146: syntax error : missing ';' before identifier 'IXmlReader' error C4430: missing type specifier - int assumed. Note: C++ does not support default-int error C4430: missing type specifier - int assumed. Note: C++ does not support default-int error C2086: 'int IXmlReader' : redefinition .h(49) : see declaration of 'IXmlReader' error C2146: syntax error : missing ';' before identifier 'IXmlResolver' warning C4091: '' : ignored on left of 'interface' when no variable is declared error C2146: syntax error : missing ';' before identifier 'IXmlWriter' warning C4091: '' : ignored on left of 'interface' when no variable is declared error C2371: 'IXmlResolver' : redefinition; different basic types .h(55) : see declaration of 'IXmlResolver' : error C2371: 'IXmlWriter' : redefinition; different basic types .h(61) : see declaration of 'IXmlWriter' error C2061: syntax error : identifier 'IXmlReader' error C2061: syntax error : identifier 'IXmlReader' : error C2061: syntax error : identifier 'IXmlReader'
而我在普通的win32控制台程序中可以正常加载xmllite.lib xmllite.h等
是不是xmllite不支持DLL啊
看了半天 xmllite.h头上写了写编译配置的东西,也不知道是不是跟这个有关,请高手解答一下,多谢
- C/C++ code
/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 7.00.0499 */ /* Compiler settings for xmllite.idl: Oicf, W1, Zp8, env=Win32 (32b run) protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ //@@MIDL_FILE_HEADING( ) #pragma warning( disable: 4049 ) /* more than 64k source lines */ /* verify that the <rpcndr.h> version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 475 #endif /* verify that the <rpcsal.h> version is high enough to compile this file*/ #ifndef __REQUIRED_RPCSAL_H_VERSION__ #define __REQUIRED_RPCSAL_H_VERSION__ 100 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of <rpcndr.h> #endif // __RPCNDR_H_VERSION__ #ifndef __xmllite_h__ #define __xmllite_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif /* Forward Declarations */ #ifndef __IXmlReader_FWD_DEFINED__ #define __IXmlReader_FWD_DEFINED__ typedef interface IXmlReader IXmlReader; #endif /* __IXmlReader_FWD_DEFINED__ */ #ifndef __IXmlResolver_FWD_DEFINED__ #define __IXmlResolver_FWD_DEFINED__ typedef interface IXmlResolver IXmlResolver; #endif /* __IXmlResolver_FWD_DEFINED__ */ #ifndef __IXmlWriter_FWD_DEFINED__ #define __IXmlWriter_FWD_DEFINED__ typedef interface IXmlWriter IXmlWriter; #endif /* __IXmlWriter_FWD_DEFINED__ */
------解决方案--------------------
error C2086: 'int IXmlReader' : redefinition
检查一下哪里有重复定义的地方
或者xmllite的头文件里面放了一些实现的东东,然后你的编译选项,有跟调用的lib不一致