我是一名很长时间的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文件应该由我以某种方式创建,而我还没有正确构建它?
答案 0 :(得分:2)
在GraphicsMagick
下的下载版本中,有两个名为CopyLibsFromDropbox.cmd
和CopyLibsToDropbox.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
目录中的内容。现在看起来应该是这样的:
一旦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,或者你有什么特别的问题吗?需要该库中的一些图像处理功能吗?