{"id":543,"date":"2014-07-03T23:14:20","date_gmt":"2014-07-03T14:14:20","guid":{"rendered":"http:\/\/www.uturtle.com\/blog\/?p=543"},"modified":"2014-07-03T23:15:37","modified_gmt":"2014-07-03T14:15:37","slug":"windows%ec%97%90%ec%84%9c-rmagick-gem-%ec%84%a4%ec%b9%98-%eb%b0%a9%eb%b2%95","status":"publish","type":"post","link":"https:\/\/www.jinukbaek.com\/blog\/ko\/archives\/543","title":{"rendered":"Windows\uc5d0\uc11c rmagick gem \uc124\uce58 \ubc29\ubc95"},"content":{"rendered":"<p>\uc708\ub3c4\uc6b0\uc5d0\uc11c \ub808\uc77c\uc988\ub85c \ud504\ub85c\uadf8\ub798\ubc0d\ud558\uba74\uc11c \ubb54\uac00 \ud55c \ubc88\uc5d0 \ub418\ub294 \uac83\uc774 \uc5c6\ub2e4\ub294 \uac83\uc744 \uc790\uc8fc \ub290\ub07c\uace4 \ud558\ub294\ub370, rmagick \uc774\ub77c\ub294 gem\uc744 \uc124\uce58\ud560 \ub54c\ub3c4 \ub9c8\ucc2c\uac00\uc9c0 \uc600\ub2e4. rmagick\uc740 \uc624\ud508\uc18c\uc2a4 \uc774\ubbf8\uc9c0 \ud504\ub85c\uc138\uc2f1 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub85c \uc720\uba85\ud55c ImageMagick\ub77c\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ub8e8\ube44\uc5d0\uc11c\ub3c4 \uc4f8 \uc218 \uc788\uac8c wrapping\ud55c gem\uc774\ub2e4. \uc804\ubd80\uac00 \uadf8\ub7f0 \uac83\uc740 \uc544\ub2c8\uace0 C\ub098 C++\ub85c \ub9cc\ub4e4\uc5b4\uc9c4 \ub300\ub2e4\uc218\uc758 \uc624\ud508\uc18c\uc2a4 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub294 \ud06c\ub85c\uc2a4 \ucef4\ud30c\uc77c\uc744 \uc9c0\uc6d0\ud558\uc9c0\ub9cc, \uc81c\uc77c \ucef4\ud30c\uc77c\ud558\uace0 \uc2e4\ud589\ud558\uae30 \uc88b\uc740 \ud658\uacbd\uc740 \ub9ac\ub205\uc2a4 \ud658\uacbd\uc77c \uac83\uc774\ub2e4. \uc5b4\uca0b\ub4e0 rmagick\uc744 \uc708\ub3c4\uc6b0\uc5d0\uc11c \uc368\uc57c\ud558\ub294 \uc774\uc0c1 Gemfile\uc5d0 rmagick\uc744 \ub123\uace0 bundle\uc744 \ub3cc\ub838\ub2e4. \uc5ed\uc2dc\ub098 \uc5d0\ub7ec \ubc1c\uc0dd. \uc774\ub7f0\ucabd \ubb38\uc81c\uac00 \ubc1c\uc0dd\ud558\uba74 \uad6c\uae00\uc5d0\uac8c \ubb3c\uc5b4\ubcf4\ub77c\uace0 \ud588\ub358\uac00, \uac80\uc0c9\ud558\uc790\ub9c8\uc790 \uc2a4\ud0dd\uc624\ubc84\ud50c\ub85c\uc6b0 \uae00 \ud558\ub098\ub97c \uccab\ubc88\uc9f8\ub85c \ub744\uc5b4\uc8fc\uc5c8\ub2e4[1]. \uae00\uc744 \uc77d\uc5b4\ubcf4\ub2c8 <a title=\"\uc774\uc804 \ud3ec\uc2a4\ud305\" href=\"http:\/\/www.jinukbaek.com\/blog\/archives\/388\">\uc774\uc804 \ud3ec\uc2a4\ud305<\/a>\uc5d0\uc11c \ud655\uc778\ud55c \uac83\uacfc \uac19\uc774 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc124\uce58\ud574\uc57c\ud55c\ub2e4\ub294 \uac83\uc774\uc600\ub2e4. \ubcc4 \uc0dd\uac01\uc5c6\uc774 \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uc544\uc11c \uc2e4\ud589\ud574\ubcf8 \uacb0\uacfc \uc5ed\uc2dc\ub098 \uc2e4\ud328. [1][2]\uc758 \uae00\uc744 \uc880 \uc5f4\uc2ec\ud788 \uc77d\uc5b4\ubcf4\ub2c8 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uc124\uce58\ud55c \ub514\ub809\ud1a0\ub9ac\uc5d0 \ube48\uce78\uc774 \uc788\uc73c\uba74 \uc548\ub41c\ub2e4\ub294 \uac83\uc774\uc5c8\ub2e4. &#8220;Program files&#8221;\ud3f4\ub354\uc5d0 \uc124\uce58 \ub42c\uc73c\ub2c8 \ub2f9\uc5f0\ud788 \ube48\uce78\uc774 \ub4e4\uc5b4\uac08 \uc218 \ubc16\uc5d0&#8230; \uc9c0\uc6b0\uace0 \ub2e4\uc2dc \uc124\uce58\ud558\uc600\ub2e4. \uadf8\ub7ac\ub294\ub370\ub3c4 \ucef4\ud30c\uc77c\uc774 \ub418\uc9c0 \uc54a\uc558\ub2e4. \ubb34\uc5c7 \ub54c\ubb38\uc778\uc9c0 \ud558\uace0 \ubd24\ub354\ub2c8 &#8221; c:\\ImageMagick-6.8.0-3-Q16&#8243;\uc5d0 &#8220;-&#8220;\uae30\ud638\ub098 &#8220;.&#8221; \uac19\uc740 \ud2b9\uc218\ubb38\uc790 \ub54c\ubb38\uc778\ub4ef \ud588\ub2e4. \uadf8\ub798\uc11c \uc2dc\ud0a4\ub294 \ub300\ub85c &#8220;c:\\ImageMagick&#8221; \ud3f4\ub354\uc5d0 \uc124\uce58\ub97c \ud588\ub2e4. \uadf8\ub7ac\ub354\ub2c8 gem \uc124\uce58\uac00 \uc131\uacf5\ud558\ub294 \ub4ef \ud588\ub2e4. \ud558\uc9c0\ub9cc \uc774\ub807\uac8c \uc131\uacf5\ud588\ub2e4\uba74 \uc5ec\uae30\uc5d0 \uae00\uc744 \ub0a8\uae30\uc9c0\ub294 \uc54a\uc558\uc744 \uac83\uc774\ub2e4. \uc5ed\uc2dc\ub098 \uc548\ub42c\ub2e4. \uc5d0\ub7ec\ub97c \ubfcc\ub9ac\uba74\uc11c \uc548\ub42c\ub294\ub370 \uc544\ub798\uc758 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud55c\ub2e4.<\/p>\n<pre class=\"lang:default decode:true \">Building native extensions with: '--with-opt-lib=c:\/ImageMagick\/lib --with-opt-include=c:\/ImageMagic\r\nk\/include'\r\nThis could take a while...\r\nERROR:  Error installing rmagick:\r\n        ERROR: Failed to build gem native extension.\r\n\r\n    C:\/Ruby200\/bin\/ruby.exe extconf.rb --with-opt-lib=c:\/ImageMagick\/lib --with-opt-include=c:\/Image\r\nMagick\/include\r\nchecking for Ruby version &gt;= 1.8.5... yes\r\nchecking for stdint.h... yes\r\nchecking for sys\/types.h... yes\r\nchecking for wand\/MagickWand.h... yes\r\nchecking for snprintf() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.h,wand\r\n\/MagickWand.h... yes\r\nchecking for AcquireImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.h,\r\nwand\/MagickWand.h... yes\r\nchecking for AffinityImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.h\r\n,wand\/MagickWand.h... no\r\nchecking for AffinityImages() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.\r\nh,wand\/MagickWand.h... no\r\nchecking for AutoGammaImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\r\n\/types.h,wand\/MagickWand.h... yes\r\nchecking for AutoLevelImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\r\n\/types.h,wand\/MagickWand.h... yes\r\nchecking for BlueShiftImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.\r\nh,wand\/MagickWand.h... yes\r\nchecking for ConstituteComponentTerminus() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint\r\n.h,sys\/types.h,wand\/MagickWand.h... no\r\nchecking for DeskewImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.h,w\r\nand\/MagickWand.h... yes\r\nchecking for EncipherImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.h\r\n,wand\/MagickWand.h... yes\r\nchecking for EqualizeImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/\r\ntypes.h,wand\/MagickWand.h... yes\r\nchecking for FloodfillPaintImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/t\r\nypes.h,wand\/MagickWand.h... yes\r\nchecking for FunctionImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/\r\ntypes.h,wand\/MagickWand.h... yes\r\nchecking for GetAuthenticIndexQueue() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sy\r\ns\/types.h,wand\/MagickWand.h... yes\r\nchecking for GetAuthenticPixels() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/ty\r\npes.h,wand\/MagickWand.h... yes\r\nchecking for GetImageAlphaChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/\r\ntypes.h,wand\/MagickWand.h... yes\r\nchecking for GetVirtualPixels() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/type\r\ns.h,wand\/MagickWand.h... yes\r\nchecking for LevelImageColors() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/type\r\ns.h,wand\/MagickWand.h... no\r\nchecking for LevelColorsImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,s\r\nys\/types.h,wand\/MagickWand.h... yes\r\nchecking for LevelizeImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/\r\ntypes.h,wand\/MagickWand.h... yes\r\nchecking for LiquidRescaleImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/ty\r\npes.h,wand\/MagickWand.h... yes\r\nchecking for MagickLibAddendum() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/typ\r\nes.h,wand\/MagickWand.h... yes\r\nchecking for OpaquePaintImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,s\r\nys\/types.h,wand\/MagickWand.h... yes\r\nchecking for QueueAuthenticPixels() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/\r\ntypes.h,wand\/MagickWand.h... yes\r\nchecking for RemapImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.h,wa\r\nnd\/MagickWand.h... yes\r\nchecking for RemoveImageArtifact() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/t\r\nypes.h,wand\/MagickWand.h... yes\r\nchecking for SelectiveBlurImageChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h\r\n,sys\/types.h,wand\/MagickWand.h... yes\r\nchecking for SetImageAlphaChannel() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/\r\ntypes.h,wand\/MagickWand.h... yes\r\nchecking for SetImageArtifact() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/type\r\ns.h,wand\/MagickWand.h... yes\r\nchecking for SetMagickMemoryMethods() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sy\r\ns\/types.h,wand\/MagickWand.h... yes\r\nchecking for SparseColorImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/type\r\ns.h,wand\/MagickWand.h... yes\r\nchecking for SyncAuthenticPixels() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/t\r\nypes.h,wand\/MagickWand.h... yes\r\nchecking for TransformImageColorspace() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,\r\nsys\/types.h,wand\/MagickWand.h... yes\r\nchecking for TransparentPaintImage() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\r\n\/types.h,wand\/MagickWand.h... yes\r\nchecking for TransparentPaintImageChroma() in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint\r\n.h,sys\/types.h,wand\/MagickWand.h... yes\r\nchecking for QueryMagickColorname() new signature... yes\r\nchecking for Image.type in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.h,wand\r\n\/MagickWand.h... yes\r\nchecking for DrawInfo.kerning in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.\r\nh,wand\/MagickWand.h... yes\r\nchecking for DrawInfo.interline_spacing in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,\r\nsys\/types.h,wand\/MagickWand.h... yes\r\nchecking for DrawInfo.interword_spacing in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,\r\nsys\/types.h,wand\/MagickWand.h... yes\r\nchecking for DitherMethod in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.h,wa\r\nnd\/MagickWand.h... yes\r\nchecking for MagickFunction in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.h,\r\nwand\/MagickWand.h... yes\r\nchecking for ImageLayerMethod in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.\r\nh,wand\/MagickWand.h... yes\r\nchecking for long double in assert.h,ctype.h,stdio.h,stdlib.h,math.h,time.h,stdint.h,sys\/types.h,wan\r\nd\/MagickWand.h... yes\r\nchecking for AlphaChannelType.CopyAlphaChannel... yes\r\nchecking for AlphaChannelType.BackgroundAlphaChannel... yes\r\nchecking for CompositeOperator.BlurCompositeOp... yes\r\nchecking for CompositeOperator.DistortCompositeOp... yes\r\nchecking for CompositeOperator.LinearBurnCompositeOp... yes\r\nchecking for CompositeOperator.LinearDodgeCompositeOp... yes\r\nchecking for CompositeOperator.MathematicsCompositeOp... yes\r\nchecking for CompositeOperator.PegtopLightCompositeOp... yes\r\nchecking for CompositeOperator.PinLightCompositeOp... yes\r\nchecking for CompositeOperator.VividLightCompositeOp... yes\r\nchecking for CompressionType.DXT1Compression... yes\r\nchecking for CompressionType.DXT3Compression... yes\r\nchecking for CompressionType.DXT5Compression... yes\r\nchecking for CompressionType.ZipSCompression... yes\r\nchecking for CompressionType.PizCompression... yes\r\nchecking for CompressionType.Pxr24Compression... yes\r\nchecking for CompressionType.B44Compression... yes\r\nchecking for CompressionType.B44ACompression... yes\r\nchecking for DistortImageMethod.BarrelDistortion... yes\r\nchecking for DistortImageMethod.BarrelInverseDistortion... yes\r\nchecking for DistortImageMethod.BilinearForwardDistortion... yes\r\nchecking for DistortImageMethod.BilinearReverseDistortion... yes\r\nchecking for DistortImageMethod.DePolarDistortion... yes\r\nchecking for DistortImageMethod.PolarDistortion... yes\r\nchecking for DistortImageMethod.PolynomialDistortion... yes\r\nchecking for DistortImageMethod.ShepardsDistortion... yes\r\nchecking for DitherMethod.NoDitherMethod... yes\r\nchecking for FilterTypes.KaiserFilter... yes\r\nchecking for FilterTypes.WelshFilter... yes\r\nchecking for FilterTypes.ParzenFilter... yes\r\nchecking for FilterTypes.LagrangeFilter... yes\r\nchecking for FilterTypes.BohmanFilter... yes\r\nchecking for FilterTypes.BartlettFilter... yes\r\nchecking for FilterTypes.SentinelFilter... yes\r\nchecking for MagickEvaluateOperator.PowEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.LogEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.ThresholdEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.ThresholdBlackEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.ThresholdWhiteEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.GaussianNoiseEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.ImpulseNoiseEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.LaplacianNoiseEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.MultiplicativeNoiseEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.PoissonNoiseEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.UniformNoiseEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.CosineEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.SineEvaluateOperator... yes\r\nchecking for MagickEvaluateOperator.AddModulusEvaluateOperator... yes\r\nchecking for MagickFunction.ArcsinFunction... yes\r\nchecking for MagickFunction.ArctanFunction... yes\r\nchecking for MagickFunction.PolynomialFunction... yes\r\nchecking for MagickFunction.SinusoidFunction... yes\r\nchecking for ImageLayerMethod.FlattenLayer... yes\r\nchecking for ImageLayerMethod.MergeLayer... yes\r\nchecking for ImageLayerMethod.MosaicLayer... yes\r\nchecking for ImageLayerMethod.TrimBoundsLayer... yes\r\nchecking for VirtualPixelMethod.HorizontalTileVirtualPixelMethod... yes\r\nchecking for VirtualPixelMethod.VerticalTileVirtualPixelMethod... yes\r\nchecking for VirtualPixelMethod.HorizontalTileEdgeVirtualPixelMethod... yes\r\nchecking for VirtualPixelMethod.VerticalTileEdgeVirtualPixelMethod... yes\r\nchecking for VirtualPixelMethod.CheckerTileVirtualPixelMethod... yes\r\nchecking for ruby\/io.h... yes\r\nchecking for rb_frame_this_func() in ruby.h,ruby\/io.h... yes\r\ncreating extconf.h\r\ncreating Makefile\r\n\r\n\r\n======================================================================\r\nThu 03Jul14 22:29:32\r\nThis installation of RMagick 2.13.2 is configured for\r\nRuby 2.0.0 (i386-mingw32) and ImageMagick 6.8.9\r\n======================================================================\r\n\r\n\r\n\r\nmake \"DESTDIR=\"\r\ngenerating RMagick2-i386-mingw32.def\r\ncompiling rmagick.c\r\nIn file included from rmagick.c:13:0:\r\nrmagick.h:81:2: error: #error Specified QuantumDepth is not supported.\r\nrmagick.c: In function 'Magick_colors':\r\nrmagick.c:40:5: warning: implicit declaration of function 'GetExceptionInfo' [-Wimplicit-function-de\r\nclaration]\r\nrmagick.c:42:5: warning: passing argument 2 of 'GetColorInfoList' from incompatible pointer type [en\r\nabled by default]\r\nIn file included from c:\/ImageMagick\/include\/magick\/image.h:21:0,\r\n                 from c:\/ImageMagick\/include\/magick\/draw.h:22,\r\n                 from c:\/ImageMagick\/include\/magick\/fx.h:21,\r\n                 from c:\/ImageMagick\/include\/magick\/accelerate.h:21,\r\n                 from c:\/ImageMagick\/include\/magick\/MagickCore.h:73,\r\n                 from rmagick.h:47,\r\n                 from rmagick.c:13:\r\nc:\/ImageMagick\/include\/magick\/color.h:75:5: note: expected 'size_t *' but argument is of type 'long\r\nunsigned int *'\r\nrmagick.c: In function 'Magick_fonts':\r\nrmagick.c:90:5: warning: passing argument 2 of 'GetTypeInfoList' from incompatible pointer type [ena\r\nbled by default]\r\nIn file included from c:\/ImageMagick\/include\/magick\/draw.h:24:0,\r\n                 from c:\/ImageMagick\/include\/magick\/fx.h:21,\r\n                 from c:\/ImageMagick\/include\/magick\/accelerate.h:21,\r\n                 from c:\/ImageMagick\/include\/magick\/MagickCore.h:73,\r\n                 from rmagick.h:47,\r\n                 from rmagick.c:13:\r\nc:\/ImageMagick\/include\/magick\/type.h:98:5: note: expected 'size_t *' but argument is of type 'long u\r\nnsigned int *'\r\nrmagick.c: In function 'Magick_init_formats':\r\nrmagick.c:178:5: warning: passing argument 2 of 'GetMagickInfoList' from incompatible pointer type [\r\nenabled by default]\r\nIn file included from c:\/ImageMagick\/include\/magick\/MagickCore.h:118:0,\r\n                 from rmagick.h:47,\r\n                 from rmagick.c:13:\r\nc:\/ImageMagick\/include\/magick\/magick.h:135:5: note: expected 'size_t *' but argument is of type 'lon\r\ng unsigned int *'\r\nmake: *** [rmagick.o] Error 1\r\n\r\n\r\nGem files will remain installed in C:\/Ruby200\/lib\/ruby\/gems\/2.0.0\/gems\/rmagick-2.13.2 for inspection\r\n.\r\nResults logged to C:\/Ruby200\/lib\/ruby\/gems\/2.0.0\/gems\/rmagick-2.13.2\/ext\/RMagick\/gem_make.out<\/pre>\n<p>\ub610 \uc5f4\uc2ec\ud788 \uad6c\uae00\ub9c1\uc744 \ud588\ub354\ub2c8 [3]\uc758 \ubb38\uc11c\ub97c \ubc1c\uacac\ud558\uc600\ub2e4. \ubb38\uc11c\ub97c \uac04\ub2e8\ud788 \uc0b4\ud3b4\ubcf4\ub2c8 imagemagick \ub77c\uc774\ube0c\ub7ec\ub9ac\uc758 \ubc84\uc83c\uc5d0 \ub530\ub77c\uc11c \ucef4\ud30c\uc77c\uc774 \uc548\ub41c\ub2e4\ub294 \ub9d0\ub85c \uac04\ub2e8\ud788 \uc694\uc57d\ud560 \uc218 \uc788\uc5c8\ub2e4. \uc9c1\uc811 \ucef4\ud30c\uc77c\ud574\uc11c \uc5f0\ub3d9\ud558\ub294 \ubc29\ubc95\ub3c4 \uc368\uc788\uc73c\ub2c8 \ud544\uc694\ud558\uc2e0\ubd84\uc740 \ucc38\uace0\ud558\uc2dc\uba74 \ub420 \ub4ef. \uc5b4\uca0b\ub4e0 \ub418\ub294 \ubc84\uc83c\uc744 \ud655\uc778\ud574\ubcf4\ub2c8 &#8216;ImageMagick-6.8.7-8-Q16-x86-dll&#8217;\uc5d0\uc11c\ub294 \ucef4\ud30c\uc77c\uc774 \uac00\ub2a5\ud558\ub2e4\uace0 \ud558\uc5ec \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uc544\uc11c \uc704\uc640 \uac19\uc740 \ubc29\ubc95\uc73c\ub85c \uc2e4\ud589\ud574 \ubcf4\ub2c8 \ubb38\uc81c \uc5c6\uc774 \uc124\uce58\ud560 \uc218 \uc788\uc5c8\ub2e4. \uc774\uc0c1\uc73c\ub85c \ubb38\uc81c \ud574\uacb0!<\/p>\n<p>&#8211; \ud544\uc790\ub294 Ruby 2.0 x86\uc5d0\uc11c \ud14c\uc2a4\ud2b8 \ud588\uc73c\uba70, ImageMagick\ub77c\uc774\ube0c\ub7ec\ub9ac\ub3c4 x86\uc73c\ub85c \uc900\ube44\ud558\uc600\uc74c. \uc804\uc5d0 64bit\ub85c \ubb34\ub9ac\ud558\uac8c \uc9c4\ud589\ud558\ub2e4\uac00 \uace0\uc0dd\ud55c \uc120\ub840\uac00 \uc788\uc5b4 \uadf8\ub098\ub9c8 \ud3b8\ud558\uac8c \uac00\uace0 \uc2f6\uc73c\uc2dc\uba74 x86\uc744 \ucd94\ucc9c\ud568.<\/p>\n<p>&nbsp;<\/p>\n<h3>\uc694 \uc57d<\/h3>\n<hr \/>\n<p>1.\u00a0http:\/\/ftp.sunet.se\/pub\/multimedia\/graphics\/ImageMagick\/binaries\/ \uc5d0\uc11c ImageMagick-6.8.7.8-Q16-x86-dll.exe \uc744 \ub2e4\uc6b4\ub85c\ub4dc.<\/p>\n<p>2. ImageMagick \uc124\uce58\uc2dc \uacbd\ub85c\ub97c &#8220;c:\\ImageMagick&#8221; \uc73c\ub85c \ud560 \uac83. \uadf8\ub9ac\uace0 \uc124\uce58\uc2dc \uccb4\ud06c\ud558\ub294 \uacf3\uc5d0\uc11c &#8220;Add application directory to your path system&#8221;, &#8220;Install development headers and libraries for C and C++&#8221; \ud56d\ubaa9\uc744 \uccb4\ud06c\ud45c\uc2dc \ud560 \uac83<\/p>\n<p>3. rails \ud3f4\ub354\uc5d0\uc11c &#8220;gem install rmagick &#8211;platform=ruby &#8212; &#8211;with-opt-lib=c:\/ImageMagick\/lib &#8211;with-opt-include=c:\/ImageMagick\/include&#8221; \ub77c\uace0 \uba85\ub839 \uc2e4\ud589!<\/p>\n<p>&nbsp;<\/p>\n<h4>\ucc38\uace0\uc790\ub8cc<\/h4>\n<hr \/>\n<p>[1] StackOverflow(I cant install gem on windows), http:\/\/stackoverflow.com\/questions\/4873276\/i-cant-install-rmagick-gem-on-windows<br \/>\n[2] shubham&#8217;s blog(installing rmagick gem on windows 7), http:\/\/shoobm.wordpress.com\/2013\/01\/03\/installing-rmagick-gem-on-windows-7\/<br \/>\n[3] \u541b\u306e\u77b3\u306f\u307e\u308b\u3067\u30eb\u30d3\u30fc &#8211; Ruby \u95a2\u9023\u307e\u3068\u3081\u30b5\u30a4\u30c8(RMagick \u3092 Windows 7 \u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u65b9\u6cd5), http:\/\/www.ownway.info\/Ruby\/index.php?rmagick%2Fhowtoinstall%2Fwindows<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc708\ub3c4\uc6b0\uc5d0\uc11c \ub808\uc77c\uc988\ub85c \ud504\ub85c\uadf8\ub798\ubc0d\ud558\uba74\uc11c \ubb54\uac00 \ud55c \ubc88\uc5d0 \ub418\ub294 \uac83\uc774 \uc5c6\ub2e4\ub294 \uac83\uc744 \uc790\uc8fc \ub290\ub07c\uace4 \ud558\ub294\ub370, rmagick \uc774\ub77c\ub294 gem\uc744 \uc124\uce58\ud560 \ub54c\ub3c4<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[135],"tags":[225,206,226,203,224,116],"class_list":["post-543","post","type-post","status-publish","format-standard","hentry","category-ruby-on-rails","tag-error","tag-gem","tag-install","tag-rails","tag-rmagick","tag-windows"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8gT1J-8L","_links":{"self":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts\/543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/comments?post=543"}],"version-history":[{"count":3,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts\/543\/revisions"}],"predecessor-version":[{"id":546,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/posts\/543\/revisions\/546"}],"wp:attachment":[{"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/media?parent=543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/categories?post=543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jinukbaek.com\/blog\/wp-json\/wp\/v2\/tags?post=543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}