我正在为本机c ++应用程序编写一个c ++ / cli包装器,当我编写代码时,它构建得非常好。
本机c ++是针对静态库(.lib)文件构建的,我在我的c ++ / cli包装器中引用它,然后我编写了一个c#console应用程序来测试包装器。但是,可以启动调试器。如果我评论了在包装器中引用代码的行,它运行良好。
因此,当无法启动调试器时,我发现visual studio的输出窗口中出现了未处理的异常:msvcp90d.dll中出现无法处理的异常,访问冲突错误写入位置:0ff ......
任何人都可以列出一些常见的情况可能会导致此问题吗?非常感谢任何答案。
答案 0 :(得分:0)
我会退一步,在静态库中注释掉C ++代码,然后从中返回。并检查集成是否有效。
您可以检查C ++代码生成选项吗?尝试更改为多线程运行时库。
答案 1 :(得分:0)
您可以查看运行时库吗? / MD应该工作。 您需要使用/ MD和/ MDd标志重新编译代码,或将您的代码更改为/ MT和/ MTd。