zzllvlv
zzllvlv
采纳率65.7%
2017-08-12 02:53

关于调用OpenGL的math3d库的问题

3
已采纳

我想用Tao框架调用OpenGL,但是发现Tao框架里好像不含有OpenGL里的math3d库和shadermanager库,
请问怎么才能调用这两个库呢?或者我下载了math3d库的math3d.h和math3d.cpp,
我通过生成这两个文件的dll在C#中调用,这样可行吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • qq_28249373 shifenglv 4年前

    首先,你要生成C语言的dll,就是把文件后缀改为.c,目标平台应该选32位的,64位的C#不支持,再编译为dll。
    在C#中,你要引用名称空间using System.Runtime.InteropServices;,目标平台从AnyCPU改为x86。然后声明调用函数:例如,调用C语言dll中的Add函数,
    [DllImport("mydll.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.Cdecl)]
    public static extern Int32 Add(Int32 a,Int32 b);
    前面方括号中的内容是必须的。函数必须声明为static 的,还要加上extern来表明函数是来自dll的。

    点赞 评论 复制链接分享
  • qq_28249373 shifenglv 4年前

    C#可以调用C语言生成的dll,C++语言生成的dll调用不了

    点赞 评论 复制链接分享