• 本站域名:OceanCoder.cn 若您喜欢本站,请添加至收藏夹!
  • 网站少部分资源来源自网络,如有侵犯您的权益,请联系站长删除!
  • 本站所有文章,除特殊标明外,皆为本人原创,转载请注明出处,谢谢合作!
  • 本站所下载的资源,若无特殊说明,使用统一解压密码:oceancoder.cn
  • 本站已实现布局自适应,支持手机端、pad端访问,欢迎体验
  • 本站部分资源可通过微信公众号留言获取,欢迎体验

[OpenSceneGraph学习笔记-C003] 使用C++/CLI封装注意事项

C++ OceanCoder 2020-07-15 3162 次浏览 0个评论

(1)注意版本对应

手上有osg-3.0.0的编译库,使用VS2017进行封装时,dll可以正常生成,但是调用时提示内存错误。

改用vs2008重新生成,调用成功!


osg80之类的dll是由vs2008编译生成的,所以应该还是使用vs2008封装dll


(2)c++/cli应用程序调用上述dll,报错“混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集”

解决办法:

1)c++/cli生成app.config配置文件,然后在配置文件中添加如下代码:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku = ".NETFramework,Version=v4.0"/>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>

2)

项目属性->生成事件(Build Events),三个事件点,随便添到那个步骤中:命令行:copy app.config "$(TargetPath).config"

已有 3162 位网友参与,快来吐槽:

发表评论