.net MagickNet C++;源代码编译失败
我试图使用ImageMagick和MagickNet库中的源代码编译类库(DLL)的工作副本.net MagickNet C++;源代码编译失败,.net,c++,imagemagick,.net,C++,Imagemagick,我试图使用ImageMagick和MagickNet库中的源代码编译类库(DLL)的工作副本 我无法从创建者的主页上获取一个MaskNETScript文件,因为它目前正在下降,所以我不得不从谷歌搜索中获得文件和C++项目文件。 按照说明和说明,我使用“静态多线程DLL”选项创建了一个项目,并对其进行了编译,然后转到MagickNet项目文件,并在确保所有路径都指向正确的文件夹后进行编译 即使如此,我在编译时仍不断收到此错误: CORE_RL_magick_.lib(nt-base.obj) :
我无法从创建者的主页上获取一个MaskNETScript文件,因为它目前正在下降,所以我不得不从谷歌搜索中获得文件和C++项目文件。 按照说明和说明,我使用“静态多线程DLL”选项创建了一个项目,并对其进行了编译,然后转到MagickNet项目文件,并在确保所有路径都指向正确的文件夹后进行编译
即使如此,我在编译时仍不断收到此错误:CORE_RL_magick_.lib(nt-base.obj) : error LNK2005: _DllMain@12 already defined in MSVCRT.lib(dllmain.obj)
我还收到371个其他错误,所有这些错误都与“未解析的外部符号xxxxxxxx”有关,最后第372个错误描述我有“195个未解析的外部符号”
我通过注释掉ImageMagick解决方案中CORE_magick项目的nt base.c源文件中的DllMain声明,成功地解决了上面的DllMain错误,但是其他372个“未解决的外部”错误仍然存在
我曾在谷歌上搜索过有类似问题的人,并说作者提供了一个预编译的MagickNet DLL的下载,该DLL可以100%工作,但是(正如我前面提到的)他的主页现在似乎无法访问
我目前正在寻求以下解决方案之一:
另外,我正在使用Visual Studio 2008编译源文件,所提供的项目转换完全没有问题。您看到的链接器问题是由于msvcrt和MFC库的链接顺序(我猜,基于谷歌搜索,这似乎是真的)。MSDN上似乎有一个过时的解决方案,但基本问题是相同的,因此选项应该相似。您看到的链接器问题是由于msvcrt和MFC库的链接顺序(我猜,基于谷歌搜索,这似乎是真的)。在MSDN上似乎有一个过时的解决方案,但基本问题是相同的,因此选项应该是相似的。我刚刚能够克服这个问题,并成功地根据最新版本的ImageMagick编译了MagickNET。我不得不做几件事
核心数据库编码器库
核心数据库jbig.lib
CORE\u DB\u jpeg\uu.lib
CORE\u DB\u magick\uu.lib
核心数据库png文件库
CORE_DB_tiff_.lib
核心数据库ttf.lib
核心数据库和文件库
核心数据库wmf.lib
核心数据库zlib.lib
核心数据库libxml.lib
核心数据库jp2.lib
核心数据库lcms.lib
Ws2_32.lib
我确实需要对MagickNet进行更新,因为自从MagickNet网站上的源代码发布以来,方法已经被弃用。我将尝试将存储库联机以共享整个解决方案。我刚刚能够克服这一问题,并成功地根据最新版本的ImageMagick编译了MagickNET。我不得不做几件事
核心数据库编码器库
核心数据库jbig.lib
CORE\u DB\u jpeg\uu.lib
CORE\u DB\u magick\uu.lib
核心数据库png文件库
CORE_DB_tiff_.lib
核心数据库ttf.lib
核心数据库和文件库
核心数据库wmf.lib
核心数据库zlib.lib
核心数据库libxml.lib
核心数据库jp2.lib
核心数据库lcms.lib
Ws2_32.lib
我确实需要对MagickNet进行更新,因为自从MagickNet网站上的源代码发布以来,方法已经被弃用。我将尝试将存储库联机以共享整个解决方案。我遇到了完全相同的问题,Bromanko的回答解决了这个问题……只需添加一个小的内容: 在imagemagick的magick config.h中,除了命令行外:
define MAGICKCORE_X11_DELEGATE
define ProvideDllMain
…还需要注释掉该行:
define MAGICKCORE_X11_DELEGATE
define ProvideDllMain
那你就要用煤气做饭了
感谢bromanko…我遇到了完全相同的问题,bromanko的回答解决了这个问题…只需添加一个小问题: 在imagemagick的magick config.h中,除了命令行外:
define MAGICKCORE_X11_DELEGATE
define ProvideDllMain
…还需要注释掉该行:
define MAGICKCORE_X11_DELEGATE
define ProvideDllMain
那你就要用煤气做饭了
谢谢bromanko…我试过那篇文章,但似乎没有任何效果。事实上,它将错误数猛增到4000+。我试过那篇文章,但似乎没有任何效果。事实上,它将错误数量猛增到4000多个。