Imagemagick Magick++;此图像格式的NodeCodeDeleteGate

Imagemagick Magick++;此图像格式的NodeCodeDeleteGate,imagemagick,magick++,Imagemagick,Magick++,我在谷歌上搜索了我的问题,找到了很多页面,但没有一个页面的味道完全相同,我无法解决我的问题 我有一个使用Magick++的程序,在我的电脑上运行得很好,但在另一台我试图运行代码的电脑上失败了。一个最简单的例子是: #include <iostream> #include <Magick++.h> int main(){ Magick::Image im; im.read( "/fullpathtoimage.jpg" ); std::cout&l

我在谷歌上搜索了我的问题,找到了很多页面,但没有一个页面的味道完全相同,我无法解决我的问题

我有一个使用Magick++的程序,在我的电脑上运行得很好,但在另一台我试图运行代码的电脑上失败了。一个最简单的例子是:

#include <iostream>
#include <Magick++.h>

int main(){
    Magick::Image im;
    im.read( "/fullpathtoimage.jpg" );
    std::cout<< im.columns() <<"\n";
    return 0;
}
关于这个问题的其他报告基本上说,他们没有jpeg的代理,应该安装libjpeg等,但他们在运行“convert”时遇到了相同的错误。然而,当我

./convert /fullpathtoimage.jpg temp.png
它运行得很好。做

./identify -list configure
名单,等等

DELEGATES      bzlib mpeg fontconfig freetype jng jpeg pango png ps x xml zlib
LIBS           -lfreetype -ljpeg -lpng12 -lfontconfig -lXext -lXt -lSM -lICE -lX11 -lbz2 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lxml2 -lz -lm

给予

所以,一切似乎都很好,所有的二进制文件都能工作,只是我的代码不能


我安装的版本是ImageMagick-6.8.7-8,我从源代码构建它,因为我在机器上没有根访问权限,我将它安装到我家的某个位置(使用./configure--prefix=/home/…)。我检查了我的程序与错误的ImageMagick链接是否存在问题(因为还有一个较旧的系统),但ldd显示一切正常,即该程序与我安装的程序链接,如我所愿,在convert上运行ldd表明它与完全相同的库相链接。

只是一个小碰撞,询问您是否解决了您的问题,因为我遇到了完全相同的问题,几乎没有找到任何关于如何修复它的方法。@JBL我修复了它,但没有发布修复,老实说,我不太明白我是如何做到的。我删除了ImageMagick-6.8.7-8,我尝试了一个稍旧的版本(例如,我认为这可能是其中的一些错误),6.6.0-10(选择这一个,因为这是我的计算机上的一个),所有的工作都没有问题。然后我删除了那个,又安装了一个新的(6.8.7-8),不知怎的,这也神奇地起了作用。。我真的没有时间调查到底发生了什么,也许我没有正确地删除旧的。无论如何,尝试一个旧版本,看看它是否有区别。非常感谢您的快速响应,我会尽快尝试。这听起来像。所以程序中的链接与机器上安装的不匹配。有些人可能会从静态链接二进制文件中获益。不幸的是,它太复杂了,无法发表评论。二进制文件上的文件大小确实增加了,因此它不会使每个人和下载匹配文件的解决方案受益。因此,来自旧软件包的文件可能是最简单的。
DELEGATES      bzlib mpeg fontconfig freetype jng jpeg pango png ps x xml zlib
LIBS           -lfreetype -ljpeg -lpng12 -lfontconfig -lXext -lXt -lSM -lICE -lX11 -lbz2 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lxml2 -lz -lm
./identify -list format | grep JPEG
  JNG* rw-   JPEG Network Graphics
 JPEG* rw-   Joint Photographic Experts Group JFIF format (62)
PJPEG* rw-   Joint Photographic Experts Group JFIF format (62)