GraphicsMagick.NET缺少CORE_RL_bzlib_.lib文件,C ++链接器错误?

时间:2015-12-04 18:38:21

标签: c++ unity3d linker graphicsmagick .lib

我是一名很长时间的VB程序员,而且对于c#来说相当不错,但在c ++方面,我是个傻瓜。但是,我需要构建GraphicsMagick.NET的源代码,特别是.net 2.0,如果可以的话,试图看看我是否可以将其转换为完全托管的dll,以便我可以将其导入Unity3D(谁在乎我为什么需要建造呢?)。

无论如何,如果没有在这里发布整个项目,我意识到这里的任何人都可能很难确切知道导致我的错误的原因。但也许有人可以做出有根据的猜测?编辑:您可以从https://graphicsmagick.codeplex.com/SourceControl/latest下载完整来源的zip文件,如果您想查看我正在使用的所有代码,则会给我这个错误。

我认为这个项目应该是开箱即用而没有错误编译的。但它并没有。它在include.h文件中有这行代码:

#        if defined(HasBZLIB)
#          pragma comment(lib, "CORE_RL_bzlib_.lib")
#        endif

由于这条邪恶的路线,我得到了这个邪恶的错误:

LNK1104 cannot open file 'CORE_RL_coders_.lib'
GraphicsMagick.NET.net20
C:\Users\A\Downloads\graphicsmagick-d\GraphicsMagick.NET.net20\LINK 1   

作为优秀的VB程序员,我广泛搜索了我的项目文件夹,而_.lib文件并不存在。但是在线搜索的过程中,我了解到c ++在构建项目时有时会生成.lib文件。所以也许这个文件应该在链接之前首先构建,但无论出于什么原因它都没有先构建好?你可以看出我对c ++的态度是多么无能为力。

当然我评论了这条线。但是它只是在下一行产生错误,这是另一个.lib文件丢失。我假设它会在整个include.h文件中的每个_.lib文件上生成一个错误,并且有相当多的。

为什么这个应该构建的项目缺少这么多.lib文件?任何人都可以给出有根据的猜测为什么?我可能错过了这个项目的作者在安装说明中忘记提及的依赖吗?或者更有可能的是,这些.lib文件应该由我以某种方式创建,而我还没有正确构建它?

1 个答案:

答案 0 :(得分:2)

GraphicsMagick下的下载版本中,有两个名为CopyLibsFromDropbox.cmdCopyLibsToDropbox.cmd的脚本文件,其中第一个包含

echo You can download the library files here: https://www.dropbox.com/sh/a8krszzmo76fqkt/AAAc9Jho29Jk3iLrKhsBmw-Ma?dl=0
goto done

在该Dropbox中,您将找到所需的所有lib文件。将整个内容下载为.zip并解压缩\GraphicsMagick目录中的内容。现在看起来应该是这样的: enter image description here

一旦libs在该文件夹中,您就可以实际编译代码。如果您选择在上面的保管箱下载页面中“将其保存在我的保管箱内”,则脚本用于将它们从本地保管箱目录复制到此目录。最后,您应该看到类似

的内容
3>  GraphicsMagick.NET.Web -> C:\Users\Maxi\Downloads\graphicsmagick-d1b5b1b28f26cdedf3ceeb555b94a87609286740\GraphicsMagick.NET.Web\bin\ReleaseQ16\x86\GraphicsMagick.NET.Web-x86.dll
3>  Codeanalysis is beeing executed...
3>  Codeanalysis finished -- 0 Errors, 0 Warning(s)
========== Build: 2 successfull, 0 failed, 0 recent, 1 skipped ==========
  

(谁在乎我为什么需要建造它?)

我愿意。你已经可以在Unity中包含托管dll了,GraphicsMagick.NET已经为你提供了一个你应该可以在Unity中使用的.NET dll,或者你有什么特别的问题吗?需要该库中的一些图像处理功能吗?