提示:Two different CTRLDLLS are loaded

无情猫 2011-09-29 11:36:03
项目从CB6升级到XE

开启CodeGuard后出现:

Two different CTRLDLLS are loaded. CG might report false errors
(C:\WINDOWS\system32\CCT32110MT.DLL)
(C:\WINDOWS\system32\CCT3260MT.DLL)

对程序有没有影响?出现了一些莫名奇妙的问题,怀疑是这个引起的。

Google了以下,有几个外国人也遇到了这样的问题,但看不懂他们说的。

http://www.mombu.com/programming/c/t-two-versions-of-codeguard-dlls-are-being-loaded-1338655.html
http://stackoverflow.com/questions/3060085/how-do-i-solve-two-different-crtldlls-are-loaded-when-using-packages-in-c-bui
http://www.google.com.hk/url?q=http://www.mombu.com/programming/windows/t-problem-with-code-guard-and-cc3260dll-cc3260mtdll-2610171.html&sa=U&ei=AeSDTuK3CIOSiAfzpZjzDg&ved=0CBAQFjAB&usg=AFQjCNFqbwey41VslixYl9ZeJnqbmm9Z3A

...全文
113 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2011-09-29
  • 打赏
  • 举报
回复
这是因为你的系统中同时存在两套C++Builder运行时库,CodeGuard不清楚该调用哪一套库来追踪调试。这个对程序没什么太大影响,你发布的时候取消运行时库就行了。另外还有可能就是升级后的工程中,仍保留一些6.0的配置。

我记得调整一下path变量中的路径优先可能会帮助,就是把XE相关的路径放到6.0相关路径的前面。
无情猫 2011-09-29
  • 打赏
  • 举报
回复
妖哥,那我这个问题怎么解决?


double m_spectrum[3648];
AnsiString name[21]; //在别的地方初始化了
getSpectrum(m_spectrum); //DLL中的函数,没有下面的for循环很正常
for(int i=0; i<10;i++)
{//没有getSpectrum很正常,出错的地方在这个循环里面
Memo1->Lines->Add(name[i]);
}



提示Access violation at ...... in module ....;

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧