在Visual C ++ 2010中安装Magick ++

时间:2013-01-17 10:25:29

标签: c++ windows magick++

我最近为C ++安装了ImageMagick库。我以前没有使用C ++ GUI的经验,但我在C ++命令行编程方面非常擅长。

我已经通过.exe文件在Windows中安装了ImageMagick,并将库和头文件复制到C ++中,但每当我尝试运行任何演示程序时,我都会遇到此错误:

1>------ Build started: Project: Sufiyan, Configuration: Debug Win32 ------
1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall Magick::Image::~Image(void)" (__imp_??1Image@Magick@@UAE@XZ) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall Magick::Image::write(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?write@Image@Magick@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall Magick::Image::pixelColor(long,long,class Magick::Color const &)" (__imp_?pixelColor@Image@Magick@@QAEXJJABVColor@2@@Z) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall Magick::Color::~Color(void)" (__imp_??1Color@Magick@@UAE@XZ) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall Magick::Geometry::~Geometry(void)" (__imp_??1Geometry@Magick@@QAE@XZ) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall Magick::Image::Image(class Magick::Geometry const &,class Magick::Color const &)" (__imp_??0Image@Magick@@QAE@ABVGeometry@1@ABVColor@1@@Z) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall Magick::Geometry::Geometry(char const *)" (__imp_??0Geometry@Magick@@QAE@PBD@Z) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall Magick::Color::Color(char const *)" (__imp_??0Color@Magick@@QAE@PBD@Z) referenced in function _main
1>main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl Magick::InitializeMagick(char const *)" (__imp_?InitializeMagick@Magick@@YAXPBD@Z) referenced in function _main
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
1>C:\Users\Z-Axis\documents\visual studio 2010\Projects\Sufiyan\Debug\Sufiyan.exe : fatal error LNK1120: 10 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

这些是我的笔记本电脑规格:

  • Windows 7 64位。
  • Visual C ++ 2010 Express x86
  • ImageMagick x86

这是我尝试安装它的方式:

  1. 已安装的Visual C ++ 2010 Express
  2. 已安装ImageMagick
  3. 在Visual C ++ 2010中复制ImageMagick Lib和Includes
  4. 选定的Win32 - &gt; Windows - &gt;空项目(不起作用)
  5. 选定的Win32 - &gt; DLL(不起作用)
  6. 选定的Win32 - &gt;静态(不起作用)
  7. 但是当我运行任何代码时,它会给出上面提到的错误。

    有人提出了这个解决方案:

      

    你需要一个起点,转到
      c:\ Program Files \ ImageMagick-6.8.1-Q16 \ Magick ++ _ demos。
      单击按钮工作区,构建并运行   假设成功,请使用按钮工作区作为您自定义代码的模板。

    我也试过这几次,并且不断得到这个错误:

      

    项目必须转换为当前的Visual C ++项目格式    转换后,您将无法在以前版本的visual studio中编辑此项目。   转换并打开这个项目?

    当我点击Yes没有任何反应时,屏幕上没有显示任何内容 - 空白的Visual C ++屏幕没有项目打开。

    我非常想知道:导致此错误的原因是什么,以及为什么即使是演示程序也无法正常工作?

1 个答案:

答案 0 :(得分:0)

尝试自己构建ImageMagick,问题可能来自不同版本的编译器。

按照Advanced windows installation of ImageMagick中的说明操作。 在上一页的末尾,有一个链接错误的解决方案,请确保您已设置预处理器。我只是跟着它成功地建立了一个项目。