但是在win7下可以正常运行.如果同样的代码,我用vc++ 6.0编译.那么不管在xp上还是win7都可以调用成功
有些人说是没有安装vs2008的库的才会这样?那如果我用vs2008编译成的dll岂不是有很大的局限性了?

解决方案 »

  1.   

    我是用Release版本编译的..而且我发现同样的代码.vc++6.0编译出有230多k,而vs2008只有7k左右.这差距也太大了吧
      

  2.   

    嗯。看样子需要加载2008的动态库。XP操作系统默认带有VC6需要的动态库,所以没有啥问题,但没有.NET需要的动态库,新的win7下就有了。至少也得有.NET框架的支持吧。
      

  3.   

    运行depends,把dll拖入
    看那些红色的  红色的是缺少的
      

  4.   

    WIN7 是 自带.NET的库的 所以你编写的代码如果是托管的在WIN7也可以运行,
    XP不带。NET的库 因此不行,所以代码需要:
    1,静态中编译
    2, 项目属性 --》C/C++》 代码生成 --》运行时库  设置为MTD(MDD是托管)