跪求高手指点VC6.0切换VS2010遭遇问题:error C2491:definition of dllimport function not allowed
原本工程是VC6.0的,切换编译工程后,VS2010始终报错。
原始代码:
在.h文件中首先定义
#ifdef SNACCDLL_EXPORTS
#define SNACCDLL_API __declspec(dllexport)
#else
#define SNACCDLL_API __declspec(dllimport)
之后定义了一个类
template <class T> class SNACCDLL_API AsnSeqOf : public AsnList<T>
{
public:
SNACC::AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, SNACC::AsnLen &bytesDecoded);
virtual SNACC::AsnType * Clone() const { return new AsnSeqOf<T>(*this); }
void Print(ostream &os) const;
void PrintXML(ostream &os, const char *lpszTitle=NULL) const;
};
报错是在定义类的函数BEnc时出现的。template <class T>
SNACC::AsnLen AsnSeqOf<T>::BEnc (BUF_TYPE b)
{
SNACC::AsnLen l;
l = BEncContent (b);
l += SNACC::BEncDefLen (b, l);
l += BEncTag1 (b, SNACC::UNIV, SNACC::CONS, SNACC::SEQ_TAG_CODE);
return l;
}
看了下工程下的代码,使用SNACCDLL_API定义的所有类中,成员函数有定义的都会报错。苦苦思索几天不得解,求高手指点。
原始代码:
在.h文件中首先定义
#ifdef SNACCDLL_EXPORTS
#define SNACCDLL_API __declspec(dllexport)
#else
#define SNACCDLL_API __declspec(dllimport)
之后定义了一个类
template <class T> class SNACCDLL_API AsnSeqOf : public AsnList<T>
{
public:
SNACC::AsnLen BEnc (BUF_TYPE b);
void BDec (BUF_TYPE b, SNACC::AsnLen &bytesDecoded);
virtual SNACC::AsnType * Clone() const { return new AsnSeqOf<T>(*this); }
void Print(ostream &os) const;
void PrintXML(ostream &os, const char *lpszTitle=NULL) const;
};
报错是在定义类的函数BEnc时出现的。template <class T>
SNACC::AsnLen AsnSeqOf<T>::BEnc (BUF_TYPE b)
{
SNACC::AsnLen l;
l = BEncContent (b);
l += SNACC::BEncDefLen (b, l);
l += BEncTag1 (b, SNACC::UNIV, SNACC::CONS, SNACC::SEQ_TAG_CODE);
return l;
}
看了下工程下的代码,使用SNACCDLL_API定义的所有类中,成员函数有定义的都会报错。苦苦思索几天不得解,求高手指点。
...全文
相关推荐
【C语言】解决 “error: function definition is not allowed here”
目录1、遇到问题2、问题解决 错误:此处不允许函数定义。检查函数定义的范围 ,在一个函数内部不允许再定义函数。
VS 2015 编译一些库的时候,出现 error “fatal error C1189: #error: Macro definition of snprintf conflicts with St
VS 2015 编译一些库的时候,出现 error “fatal error C1189: #error: Macro definition of snprintf conflicts with Standard Library function declaration”问题VS 2015 编译一些库的时候,出现 error “fatal error C1189: #error: Macro def
29Linux基础命令详解——用户管理.docx
29Linux基础命令详解——用户管理
科技服务机构如何通过数据分析增强服务竞争力?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
vue+springboot基于 Java 的南昌实利广告公司的员工管理系统的设计与实现_oj680rl3毕业设计源码数据库.zip
vue+springboot基于 Java 的南昌实利广告公司的员工管理系统的设计与实现_oj680rl3毕业设计源码数据库.zip


