繁体   English   中英

具有ImageMagicK的vc ++中的歧义错误

[英]ambiguous error in vc++ with ImageMagicK

我有一个问题。 当我在vs2010 c ++表单项目中使用ImageMagicK库进行编译时。

我有一些这样的错误代码。

1> ex3.cpp(22):错误C2872:“图片”:模糊符号

1>可能是'c:\\ program files \\ imagemagick-6.8.6-q16 \\ include \\ Magick ++ / Image.h(55):Magick :: Image'

1>或'c:\\ program files \\ referenceassembly \\ microsoft \\ framework.netframework \\ v4.0 \\ system.drawing.dll:System :: Drawing :: Image'

该文件如下所示:

// ex3.cpp : main project file.

#include "stdafx.h"
#include "Form1.h"
#include <Magick++.h>


using namespace ex3;
using namespace Magick; 

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
    // Enabling Windows XP visual effects before any controls are created
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false); 
    // Create the main window and run it
    Application::Run(gcnew Form1());


    InitializeMagick(*argv);
    Image master;
    master.read("C:₩₩abc.jpg");
    master.addNoise(ImpulseNoise);
    master.write("C:₩₩abc_magic.jpg");
    return 0;
}

经过对网络视觉的研究。 vc ++似乎不是imagemagick软件套件的选择。 没有看到vc ++作为界面

这是using namespace xxx引起冲突时的示例。 在线上

Image master;

编译器无法分辨您是指Magick::Image还是.NET Image

您可以通过显式选择并选择可能需要的一种

Magick::Image master;

这恰恰是首先发明名称空间的原因,并且强烈建议不要在文件中using namespace xxx添加using namespace xxx ,只是为了节省一些输入。

就像Victor Torres在回答中所说的那样,ImageMagick是否完全可以与Managed C ++一起使用还不确定,但这是另一个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM