簡體   English   中英

在x86_64 linux系統上構建x86 ImageMagick應用程序

[英]Build x86 ImageMagick application on x86_64 linux system

我有使用ImageMagic ++庫的x86 C ++應用程序。 我也有配備CentOS 7 x86_64的計算機。 我需要在這台機器上構建我的應用程序。 我已經安裝了i686 ImageMagick庫:

[dvoryankin@testsuitel]$ 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應用程序而不更改任何庫文件?

我只能建議在一個隔離的位置(不是/usr/目錄)重建ImageMagick和委托。

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實用程序打印出應用程序所需的其他編譯器/鏈接器標志。

也許在配置之前嘗試在命令行中像CXXFLAGS ='-D __WORDSIZE = 64'一樣定義__WORDSIZE

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM