Release mode crash @Win/MFC

Questions and postings pertaining to the development of ImageMagick, feature enhancements, and ImageMagick internals. ImageMagick source code and algorithms are discussed here. Usage questions which are too arcane for the normal user list should also be posted here.
Post Reply
Kane
Posts: 1
Joined: 2011-03-09T09:14:17-07:00
Authentication code: 8675308

Release mode crash @Win/MFC

Post by Kane »

Hi there,

I am using ImageMagick-6.6.3-Q16 under Win7 working with Visual Studio 2010 on a C++ standard MFC application. It is needed as small tool in a larger solution to resize and crop images. After reading the HowTos and some threads in this forum I was able to get it working in debug mode.

So far I added the installation and ./include folder as additional include directories and ./lib as additional library directory. I linked CORE_RL_magick_.lib, CORE_RL_Magick++_.lib,CORE_RL_wand_.lib and X11.lib. Furthermore I copied all necessary dlls into my applications folder.

The debug version using MFC in a shared dll works just fine although I'm obviously using IM release builds. Here's the code:

Code: Select all

CString oPath;
// Path detection part removed...

Magick::Image oImage;
oImage.read(LPCTSTR(oPath));

unsigned int nXPixels;
unsigned int nYPixels;
nXPixels = oImage.columns();
nYPixels = oImage.rows();    
oImage.crop(Geometry(nXPixels - (m_nCropRight * (nXPixels / 200)) + 1,
                    nYPixels - (m_nCropBottom * (nXPixels / 200)) + 1));
oImage.chop(Geometry(m_nCropLeft * (nXPixels / 200) + 1,
                    m_nCropTop * (nXPixels / 200) + 1));
    
oImage.write(LPCTSTR(oPath));
Now when switching my app to release version "oImage.read(LPCTSTR(oPath));" makes the running instance crash. When using standard windows libraries for MFC (as i usual do) it only tells me about a "fatal error" in my app at this line. When using shared dll (like in debug mode) I get "Magick::ErrorMissingDelegate at memory location". Includes, directories and dependecies are the same as in debug mode.

I really spend much time googling and searching this forum, carrying this problem with me for about six month now and I still got no idea how to make my app work with IM in release mode.

Thanks for any help in advice.
Post Reply