2015-10-16 88 views
0

我有使用ImageMagiC++庫的x86 C++應用程序。我也有CentOS 7 x86_64的機器。我需要在這臺機器上構建我的應用程序。 我已經安裝了i686的ImageMagick庫:在x86_64 linux系統上構建x86 ImageMagick應用程序

[[email protected]]$ yum list installed | grep Magick 
ImageMagick.i686     6.7.8.9-10.el7      @base  
ImageMagick-c++.i686    6.7.8.9-10.el7      @base  
ImageMagick-c++-devel.i686   6.7.8.9-10.el7      @base  
ImageMagick-devel.i686    6.7.8.9-10.el7      @base 

當我嘗試建立我的應用程序有一個錯誤:

/usr/include/ImageMagick/magick/magick-config.h:9:31: 
fatal error: magick-config-64.h: No such file or directory 
    #include "magick-config-64.h" 

這是發生監守文件/usr/include目錄/ ImageMagick的/ magick/magick- config.h使用宏定義__WORDSIZE來確定必須包含哪個文件magick-config-64.hmagick-config-32.h。在我的CentOS 7 x86_64機器上,這個宏等於64,ImageMagick試圖包含magick-config-64.h但i686庫沒有這個,只有magick-config-32.h

如何在不更改任何庫文件的情況下在CentOS 7 x86_64機器上使用x86 ImageMagick庫構建x86應用程序?

+0

你做完之前'百勝安裝的ImageMagick-devel' –

+0

@MarkSetchell是的,我已經安裝的ImageMagick-devel的.i686 – DvoryankinEvgeny

+0

您是否嘗試過最新版本?畢竟,你的版本大約在2+歲以上,我們現在在6.9.2-3 –

回答

0

我只能建議重建ImageMagick &委託在一個孤立的位置(而不是/usr/目錄)。

curl -O http://www.imagemagick.org/download/ImageMagick.tar.gz 
tar zvxf ImageMagick.tar.gz && cd ImageMagick-6.9.2-4 
CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 \ 
./configure --build=i686-pc-linux-gnu --prefix=/opt/im32 

只要你有你需要的構建跨平臺的一切,你已經建成x86所有ImageMagick的依賴關係。

實用程序/opt/im32/bin/Magick++-config可用於打印出您的應用程序所需的其他編譯器/鏈接器標誌。

+1

沒有別的事情要做 – DvoryankinEvgeny

0

也許嘗試定義在命令行__WORDSIZE像 CXXFLAGS = ' - d __WORDSIZE = 64' 配置

相關問題