在vc++中使用ImageMagicK的模糊错误
ambiguous error in vc++ with ImageMagicK
我有一个问题。当我用ImageMagicK库编译vs2010 c++ form项目时。
我有一些这样的错误代码。
1>ex3.cpp(22): error C2872: 'Image': ambiguous symbol
1>可以是"c:program filesimagemagick-6.8.6-q16include magick++/Image.h(55): Magick::Image"
1>或'c:program filesreference assembliesmicrosoftframework.netframeworkv4.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;
}
这是using namespace xxx
引起冲突的一个例子。行
Image master;
编译器不能告诉你是指Magick::Image
还是。net Image
。
您可以通过显式选择您可能需要的内容并写入
Magick::Image master;
这正是首先发明名称空间的原因,也是为什么强烈建议而不是将using namespace xxx
添加到文件中,只是为了节省一些输入。
就像Victor Torres在他的回答中所说的,ImageMagick是否在Managed c++中工作是不确定的,但这是另一个问题。
经过对网页视觉的研究。vc++似乎不是imagemagick软件套件的一个选择。没有看到vc++作为接口
相关文章:
- 警告处理为错误这里有什么问题
- "error: no matching function for call to"构造函数错误
- boost::进程间消息队列引发错误
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- QT在错误的班级中寻找空位
- 设置我的应用程序 API 感知并防止系统使其模糊和错误定位
- 谷歌测试编译错误 Os X:函数式转换从"int"到"internal::FloatingEq2Matcher"的模糊转换<float>
- 为什么此代码不会产生模糊的呼叫错误
- 模糊的C++编译错误
- 当用户自定义哈希函数在 unordered_map 中时,无法解码 g++ 中模糊的编译器错误
- Visual Studio在添加if语句后显示C++模糊性错误
- GCC出现模糊链接错误,但VC++没有
- 在vc++中使用ImageMagicK的模糊错误
- 通过模糊 mat 从 std::vector: <int>cv::Exception 中获取错误指针
- Visual Studio给出了关于模糊actor的错误
- visual c++在vs 2010中出现了模糊继承错误
- 为什么C++编译器有模糊的错误消息
- 带有两个运算符的C++11模糊错误(一个左值-第二个右值).底部的
- 模板函数调用模糊性错误