关于导出DLL问题
2008-06-04 14:47
148 查看
在编译dll时一直没有什么问题,在同一个工程直接测试也没有什么问题,但是等到用我的DLL时确出现了一堆的问题.
问题 1
导出派生类,用dll 出现Link2019 无法解析的外部符号 基类的析构函数在派生类用到, 解决方法 1 基类也导出,解决方发2 不定义基类的析构函数. 虽然问题解决了, 但是到现在我也不知道为什么 .
问题2
void SmsXmlParserTest::TestGetDcpCplName10()
{
int result = XMLPARSER_initValue;
vector<string> cplFileName;
result = xmlParse->Inite();
string assetMapFilePath = "E://xml//SMS_XMLPaser_1.1_Test//XMLPaserUnitTest//" ;
result = xmlParse->XmlInite(assetMapFilePath);
string pkl="";
string data = "";
result = xmlParse->GetDcpName(pkl,data);
CPPUNIT_ASSERT_EQUAL(result,XMLPARSER_SUCCESS);
}
xmlParse是从dll导出的类,pkl,data都得到了正确的值,但是在该函数结束时string自动析构时确出现了问题.
问题是 Expression: _CrtIsValidHeapPointer(pUserData) ;
问题 1
导出派生类,用dll 出现Link2019 无法解析的外部符号 基类的析构函数在派生类用到, 解决方法 1 基类也导出,解决方发2 不定义基类的析构函数. 虽然问题解决了, 但是到现在我也不知道为什么 .
问题2
void SmsXmlParserTest::TestGetDcpCplName10()
{
int result = XMLPARSER_initValue;
vector<string> cplFileName;
result = xmlParse->Inite();
string assetMapFilePath = "E://xml//SMS_XMLPaser_1.1_Test//XMLPaserUnitTest//" ;
result = xmlParse->XmlInite(assetMapFilePath);
string pkl="";
string data = "";
result = xmlParse->GetDcpName(pkl,data);
CPPUNIT_ASSERT_EQUAL(result,XMLPARSER_SUCCESS);
}
xmlParse是从dll导出的类,pkl,data都得到了正确的值,但是在该函数结束时string自动析构时确出现了问题.
问题是 Expression: _CrtIsValidHeapPointer(pUserData) ;
把dll工程设置成 多线程调试 DLL (/MDd) 测试工程也必须设置成 多线程调试DLL (/MDd) 就不会出现上面的问题,但是我用CPPUnit 作单元测试,CPPUnit 工程一设置成多线程调试 DLL (/MDd)就会出现一堆的错,必须设置成单线程才没有问题,看来cppunit也有局限性. 不用cppunit测试就可以多线程调试DLL (/MDd),此时就没有问题了.
相关文章推荐
- 关于Dll中导出string的问题
- 关于Dll中导出string的问题
- 关于c#调用c++ dll 的一些问题和解决方案
- 关于在3dmax 导入再导出FBX到unity中的尺寸选项问题
- 关于run a dll as an app的问题
- 关于PowerDesigner导出SQLServer 2008表结构的问题
- 难道这又是个未解之谜?--- 关于DLL中使用ADODATASET出错的问题
- 关于通过iText通过HTML转成PDF导出的操作遇到一些问题的记录
- 关于Unity导出的Android应用在小米、联想等机型上崩溃的问题
- 关于使用vc++调用matlab生成的dll传递数组的问题
- 关于重新指定Dll入口的问题
- 关于exp导出oracle11g的数据库问题 提示exp-00028这个错误
- 关于回调函数处理DLL里的数据问题
- 关于js导出excel的标题日期问题
- 关于导出excel是经常出现的几个问题
- 关于delphi调用vc编写的dll中参数类型有关问题
- 关于用zlibwapi.dll进行字节数组压缩的问题
- 关于在dll中申请内存,外部释放的问题
- 关于iReport 导出文件的问题
- 关于Eclipse 自带javadoc导出 api 问题解决办法(Doxygen)