_


воскресенье, 15 мая 2011 г.

Компилируем ImageMagick под VS2010 x64 и настраиваем проект на Magick++


На днях парился с компиляцией и настройкой ImageMagick. Расскажу, как это было, и как это решить ...


Решил я заюзать интересную библиотеку под названием ImageMagick. Как там в википедии пишут? Свободная, кроссплатформенная, большие изображения поддерживает да еще и в космос ракеты отправляет. Вообщем, многое умеет - вот и захотел с ней разобраться ... Ну, как говорится, первый блин комом: скачал, попытался скомпилировать и обломался ... Пришлось качать скомпиленную релиз-версию и настраивать. С настройкой разобрался почти сразу, но проблема нашлась там, где её не ждали - при сборке Debug-версии кое-какого софта получил ошибку от ImageMagick'а, мол, я - библитека привередливая, и только под релизом работаю ...
Чтож, прошло 10 дней, решил добить имейджмэджик! Итак, объясню все по пунктам:

1. Качаем исходники ImageMagick отсюда
2. Распаковываем ... к примеру на диск D:\
3. Запускаем D:\ImageMagick-6.6.9\VisualMagick\configure\configure.sln
4. Преобразуем проект, заходим в настройки проекта configure и удаляем содержимое пары полей:

5. Далее, собираем проект configure (не все решение, а именно отдельный проект).
6. Запускаем проект прям из Visual Studio. Устанавливаем следующие параметры:


7. После закрытия программы, закрываем Решение
8. Открываем новое сконфигурированное Решение по адресу D:\ImageMagick-6.6.9\VisualMagick\VisualDynamicMT.sln 
9. Преобразуем решение, кликаем правой кнопкой на Решение -> Диспетчер конфигураций
10. Создаем новую платформу x64, наследуя её от Win32.
11. Теперь кликаем правой кнопкой по проекту All -> Назначить запускаемым проектом
12. Заходим в меню Построение -> Очистить решение 
13. Заходим в меню Построение ->  Построить решение и ждем, пока скомпилируется
14. Закрываем текущее Решение и создаем новое
15. Меняем у проекта платформу на x64 способом, описанным ранее
16. Заходим в свойства созданного проекта и добавляем:
16.1. Каталоги VC++ -> Каталоги включения:
D:\ImageMagick-6.6.9\
D:\ImageMagick-6.6.9\Magick++\lib

16.2. Каталоги VC++ -> Каталоги библиотек:
D:\ImageMagick-6.6.9\VisualMagick\lib

16.3. Компоновщик -> Ввод:
CORE_DB_magick_.lib
CORE_DB_Magick++_.lib
CORE_DB_wand_.lib
X11.lib

17. Добавляем в cpp-файл проекта следующий код:
#include "stdafx.h"
#include <Magick++.h>

using namespace std;
using namespace Magick;

int main(int argc, char **argv)
{
   InitializeMagick(*argv);

   Image img("D:\\gia.jpg");
   img.write("D:\\copy_gia.jpg");

   return 0;
}

Данный код просто копирует картинку.

1 комментарий:

Анонимный комментирует...

А вот у меня на шаге "6. Запускаем проект прям из Visual Studio." отваливается :(

Отправить комментарий