我在使用 ImageMagick 做图像处理时,ImageMagick 分为 32位 和64位 两个版本的dll 。
自己的项目也分为两个版本(两个Solution),其中代码相同,只是引用ImageMagick 组件dll的版本不相同,每次需要编译两次,生成两个不同平台版本的程序。
现在我想把两个版本的dll,合并在同一个解决方案中, 在程序运行的时候,判断系统平台版本,动态引入X64 或X86 对应的ImageMagick 组件dll,来达将32位64位两份代码合二为一的目的。
这个问题该如何解决?第一次在博客园上问问题,不知道有没有人看。
安装程序的时候,把 64 位版本的 ImageMagick 拷贝到 System32 目录下,把 32 位版本的 ImageMagick 拷贝到 SysWOW64 目录下就可以了。
或者用 LoadLibrary 按需加载,然后用 Function Pointer 调用导出的方法。
最简单的方法是采用try{}catch{}方法 try里面32位,catch里面用64位