0

我正在尝试将 Magick++ 与 Code::Blocks 一起使用(两者都是最新版本)。我使用 win7 x64 并安装了 ImageMagick x86 和 x64 动态(带有 DLL)。

每次我尝试运行演示 c++ 文件(如下面的代码)时,我都会收到相同的消息:

\ImageMagick-6.8.6-Q16\include\"  -c C:\Users\ad\Desktop\C++\Magick++\test\main.cpp -o obj\Debug\main.o
mingw32-g++.exe: fatal error: no input files
compilation terminated.
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings (0 minutes, 0 seconds)

有人经历过吗?你能帮我让它工作吗?

我将.jpg文件“wall.jpg”放在与项目相同的文件夹中。

谢谢

demo来自 magick++文件夹的源代码

#include <Magick++.h>
#include <iostream>
using namespace std;
using namespace Magick;
int main(int argc,char **argv)
{
  InitializeMagick(*argv);

  // Construct the image object. Seperating image construction from the
  // the read operation ensures that a failure to read the image file
  // doesn't render the image object useless.
  Image image;
  try {
    // Read a file into image object
    image.read( "wall.jpg" );

    // Crop the image to specified size (width, height, xOffset, yOffset)
    image.crop( Geometry(100,100, 100, 100) );

    // Write the image to a file
    image.write( "x.gif" );
  }
  catch( Exception &error_ )
    {
      cout << "Caught exception: " << error_.what() << endl;
      return 1;
    }
  return 0;
}
4

4 回答 4

1


你好 ,

问题不在于缺少“wall.jpg”,而是编译过程(创建可执行二进制文件),如您的示例输出所示:

mingw32-g++.exe: fatal error: no input files

要找出问题所在,您应该发布您运行的命令和完整的错误输出。


最好的,

杰克

于 2013-07-16T08:44:30.087 回答
1

可能是您的输入路径设置错误或您的帐户没有权限读取“C:\Users\ad\Desktop\C++\Magick++\test\main.cpp”中的文件,检查并重试

于 2013-07-18T09:11:32.050 回答
0

我认为错误发生在 main:InitializeMagick(*argv) 的第一句,你可以调试这个调用,可能是 argv 的 NULL 指针引起的。

哦,不,该项目甚至没有编译!(请参阅错误消息)

于 2013-07-16T01:37:38.527 回答
0

我认为您应该修改用于创建项目的方式。就个人而言,我仔细检查了如何创建项目并幸运地工作。

于 2013-11-26T17:45:26.220 回答