[英]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.