Утверждение не удалось. пытаясь создать изображение с помощью Magick ++ - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь запустить этот простой код из этого примера на стр. 8. Я пытаюсь создать изображение, а затем написать его, но оно даже не позволит мне создать изображение.

Это код:

#include <Magick++.h>
#include <iostream>

int main()
{
    Magick::Image p("300x300", "red");
    //~ p.write("red.png");
    return 0;
}

Вот команда компиляции:

g++ Magick++-config --cppflags --cxxflags --ldflags --libs main.cpp -o main

Вот ошибка:

main: magick/semaphore.c:606: LockSemaphoreInfo: Assertion `semaphore_info != (SemaphoreInfo *) NULL' failed.
Aborted

Я использую Debian 9 на Virtualbox. Он прекрасно компилируется. Он просто не запускается, и я не знаю, что означает эта ошибка. Я также не могу найти его в Интернете. Может кто-нибудь помочь, пожалуйста?

1 Ответ

1 голос
/ 24 марта 2020

Я не инициализировал магию, потому что думал, что это только для windows пользователей. Вот обновленный код.

#include <Magick++.h>
#include <iostream>

int main()
{
    Magick::InitializeMagick(nullptr); // <--- added this line
    Magick::Image p("300x300", "red");
    p.write("red.png");
    return 0;
}

Надеюсь, это поможет всем, кто столкнулся с этой проблемой.

...