2011-04-27 2 views
12

레일 3 앱에서 작업 중입니다. 몇 시간 동안 고생하고 마침내 rmagick 2.13.1 gem을 win7x64/ruby ​​1.9.2에서 오류없이 설치 한 후에 다른 오류가 발생했습니다. 예, Windows에서의 레일 경험이 고통 스러울 수 있다고 들었습니다 ...ImageMagick - "CORE_RL_magick_.dll을 찾을 수 없습니다"또는 Ruby 1.9.2를 사용하여 Windows에 RMagick을 설치하는 방법

반송파를 사용하여 이미지를 처리하고 AWS S3에 업로드합니다. 처리 구글이 하나에 정말 도움이 아니었다

CORE_RL_magick_.dll not found

말, 내 개발 컴퓨터에 파일 업로드를 실행할 때, 나에게 창 팝업을 발생

class IconUploader < CarrierWave::Uploader::Base 

require 'rmagick' 
include CarrierWave::RMagick 
... 
process :resize_to_fit => [100, 100] 
process :convert => :png 
... 

것 같습니다.

내 PATH 변수를 C :/ruby192/ImageMagick으로 설정했는데 ImageMagick을 설치 한 위치입니다. 그리고이 폴더는 magick을 포함하여 여러 CORE_RL dll을 가지고 있습니다. DLL 자체가 누락되지 않았습니다! 사실

irb > require 'rmagick' 반환 및 convert -version 출력이 :

Version: ImageMagick 6.6.9-6 2011-04-14 Q16 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2011 ImageMagick Studio LLC 
Features: OpenMP 

그래서 나는 몇 가지 질문이 있습니다.

  1. 어떻게 해결할 수 있습니까?
  2. elseif 나는 창문과 영웅 둘 모두에서 지원되는 다른 보석 및/또는 그래픽 라이브러리가 있습니까?
  3. else 어쩌면 DEV 환경에서 한 이미지는 CORE_RL DLL이 오류를 제공

지금까지 해봤 ImageMagick이 V 6.6.9 32 비트 DLL, 64 비트를 처리하지 않도록, carrierwave을 구성하는 방법이있다 rmagick 보석을 컴파일 dev에 헤더를하지 않는, 정적, 비트 및 64 비트 동적 첫 번째를 제외하고, 보석 컴파일, 모든 테스트하는 동안 나에게 undefined reference 오류 tonns을주는 :

checking for snprintf() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... yes 
checking for AcquireImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys/types.h,wand/MagickWand.h... no 
and so on... 

감사를 모두 .

답변

18

마침내 ImageMagick을 설치하고 RMagick 젬을 제작하여 모든 작업을 완료했습니다. 만세.

DLL 자체에 문제가있는 것처럼 보입니다. 그것을 등록하려고 할 때, windows는 dll에 관한 문제에 관해 나에게 좋은 에러를 주었다.

그래서 모든 문제를 해결하는 나의 방법은 다음과 같습니다

  1. 이동 here
  2. 다운로드 ImageMagick를 동적 6.6.1-10 32 비트 또는 현재 최신 버전 6.6.9을 제외한 다른 버전 , 어떤 DLL 문제가 있습니다
  3. 옵션으로 설치 : PATH 및 개발 헤더에 추가하십시오. 설치 경로에 공백이 없어야합니다 (). 설치가 완료되면 성공적인 dll 등록에 대한 메시지 상자가 나타납니다.
  4. 명령 줄에 convert -version을 입력하여 모든 것이 작동하는지 확인하십시오. 저작권 (C) 1999에서 2010 사이 ImageMagick과 스튜디오 LLC 특징 : OpenMP를

  5. DevKit를 설치

    버전 : 6.6.1-10 2010-05-15 Q16 http://www.imagemagick.org 저작권 ImageMagick이는 뭔가를 인쇄해야합니다 아직 안 왔으면. gem install rmagick --platform=ruby -- --with-opt-lib=c:/ruby192/ImageMagick/lib --with-opt-include=c:/ruby192/ImageMagick/include

그것은

Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 

를 인쇄해야합니다 그리고 모든것이 제대로가는 경우 몇 분 후, 당신은

Successfully installed rmagick-2.13.1 
1 gem installed 
Installing ri documentation for rmagick-2.13.1... 
Installing RDoc documentation for rmagick-2.13.1... 

을 볼 수 그리고 그것 뿐이다 :

  • 는 rmagick 보석을 설치합니다. 희망을 갖고 있으면 누군가가 여러 시간을 낭비하지 않아도됩니다.

    그냥 두 개 더 도움이되었다 링크 : 12 여전히

  • +0

    환호하는 친구, 다행히 분류 했어. 꽤 감동받은 영웅도 메신저를 가지고 있습니다. 나는 그 머리에 대해 그렇게 감사하는 것을 알고 있지 않았다 :) – 2potatocakes

    +0

    방금 ​​당신은 나의 날을 구했다. 고마워, 나는 많은 자습서를 시도, 단계별 로이 단계는 나를 위해 일했다. <3 – Lucas

    +0

    도움이 되셨 다행, Lucas :) 사실, 창문과 모든 루비/레일 물건을 다시 설치해야만 할 때, 실제로 저는 저의 것을 구해 줬습니다. – bassneck

    1

    RMagick은 ImageMagick 프로세싱 라이브러리와 인터페이스 할 수있는 보석 역할을하기 때문에 Heroku에서도이를 실행하려고하는 문제에 봉착 할 것입니다. ImageMagick도 로컬 시스템에도 설치해야하는데, 당신이 Heroku에서 할 수 있을지 모르겠습니다. ImageMagick 설치에는 .dll이 누락되었습니다. 나는 그것을 지역 프로젝트에서 상당히 자주 사용한다. 다음 링크는 다음과 같습니다

    http://www.imagemagick.org/script/binary-releases.php?ImageMagick=d1l695sitj9h0vdqs78vgebqc5#windows

    내가 위의 링크에서 64 비트 "정적"바이너리를 설치하는 것이 좋습니다 것입니다. 문제가 있거나 두 가지 버전을 사용하려고 시도했습니다.

    어쨌든 다운로드하여 설치하고 C : \ Program Files \ ImageMagick-6.5.6-Q8 (또는 현재 설치되어있는 곳)의 PATH 환경 변수 경로를 추가하십시오.

    그러면 RMagick 보석을 올바르게 사용할 수 있습니다.

    모두 최고입니다.

    +0

    안녕하세요, 2potatocakes) 내가 이미 분명히 지적 했어야 할 것은 이미 이미 imagemagick 설치가있었습니다. 나는 32 비트 dll 버전을 다운로드했다. 당신의 포스트 후에 나는 64 비트 정적 및 동적 인 것들을 시도했다. 첫 번째 것은 dev 헤더가 없으므로 rmagick gem을 컴파일 할 수 없습니다. 두 번째 것은 보석을 컴파일 할 때 정의되지 않은 참조 오류를줍니다. 그리고 내가 아는 한 Heroku는 그들의 서버에 IM을 설치했습니다. – bassneck

    2

    이 설치 얻을 수있는 고통이었다 설치할 수없는 경우. 현재이 순간에 Ruby, Rails, Devkit 및 ImageMagick을 다시 설치해야했습니다. 가장 좋은 방법은 3.1을 사용하지 않는 한 레일즈를 제외한 모든 버전의 최신 버전을 함께 사용하는 것입니다. 이 순간 나는 최신 버전을 사용하고 있습니다 :

    ImageMagick-6.7.2-1-Q16-windows-dll - Win32 dynamic at 16 bits-per-pixel 
    
    DevKit-tdm-32-4.5.2-20110712-1620-sfx 
    
    rubyinstaller-1.9.2-p290 
    
    Rails 3.0.9 
    

    내 시스템 :

    윈도우 7, 64

    내 경로 것은 허용 대답에서 약간 다릅니다.

    내 C :/ImageMagick를

    gem install rmagick --platform=ruby -- --with-opt-lib=c:/ImageMagick/lib --with-opt-include=c:/ImageMagick/include 
    

    나는 모든 옵션이 꺼져 체크 "관련 경로 옵션"과 "헤더"와 다음, ImageMagick이를 확인 먼저 루비를 설치했습니다. 내부 devkit의 이후 다음

    1) cd c:\DevKit 
    2) ruby dk.rb init 
    3) ruby dk.rb install 
    

    :

    그런 다음 쉽게 devkit를 설정 (C :/devkit) 이런 짓을하고 오류없이 설치 :

    gem install rmagick --platform=ruby -- --with-opt-lib=c:/ImageMagick/lib --with-opt-include=c:/ImageMagick/include 
    

    여전히 문제가있는 경우 어쩌면이게 당신을 도울 수 있습니다. 저는 이것을 시도하고 있었지만, 환경을 설정하고 5 단계를 진행하는 것에 익숙하지 않았습니다 : http://www.waydotnet.com/blog/2010/02/rmagick-on-ruby-1-9-1-i386-mingw32-work-d/

    5 단계 제가 믿습니다. e는 Devkit 내부에서했던 것처럼 바뀔 수 있습니다. 시도해보고 행운을 비네!

    1

    이 게시물의 단계를 수행했지만 정의되지 않은 오류가 여전히 많습니다. 이 경우에도 64 비트 운영 체제가 있음에도 불구하고 32 버전의 imagemagick을 설치하려고 할 수 있습니다. 그것은 나를 위해 일했습니다. 자세한 내용은 여기를 참조하십시오. rmagick not building on windows 7 undefined reference errors

    관련 문제