Консультация № 197619
22.01.2020, 20:00
0.00 руб.
1 0 0
Здравствуйте, уважаемые эксперты! Прошу вас ответить на следующий вопрос:

windows 7 x86
mingw-w64 g++ (i686-win32-dwarf-rev0, Built by MinGW-W64 project) 8.1.0
Здравствуйте, я изучаю OpenGl на сайте OpenGl и остановился на уроке 16 поскольку автор предлагает установитьImageMagick и у меня возникли проблемы с подключение библиотеки к проекту я проделал следующие действия
1) перешел на сайте ImageMagick на вкладку Download и скачал (ImageMagick-i686-pc-mingw32.tar.gz download download MinGW) из архива папки include и lib скопировал в проект и bat файле прописал путь к ним, вот содержание бат файла compile.bat:
Код:
g++ main.cpp math_3d.cpp pipeline.cpp camera.cpp texture.cpp -o example -lglew32 -lglu32 -lfreeglut -lopengl32 -Wl,--subsystem,windows -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=8 -I"C:\Users\U1\Desktop\freeglut\tutorial16\include" -L"C:\Users\U1\Desktop\freeglut\tutorial16\lib" -lMagick++-6.Q16 -lMagickCore-6.Q16 -lMagickWand-6.Q16
pause

на что мне вывело следующее сообщение:
Код:
C:\Users\U1\Desktop\freeglut\tutorial16>g++ main.cpp math_3d.cpp pipeline.cpp camera.cpp texture.cpp -o example -lglew32 -lglu32 -lfreeglut -lopengl32 -Wl,--subsystem,windows -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I"C:\Users\U1\Desktop\f
reeglut\tutorial16\include" -L"C:\Users\U1\Desktop\freeglut\tutorial16\lib" -lMagick++-6.Q16 -lMagickCore-6.Q16 -lMagickWand-6.Q16
C:\Users\U1\AppData\Local\Temp\cc6kX2Y7.o:texture.cpp:(.text+0x9b): undefined reference to `Magick::Image::Image(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:\Users\U1\AppData\Local\Temp\cc6kX2Y7.o:texture.cpp:(.text+0xe6): undefined reference to `Magick::Image::write(Magick::Blob*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2.exe: error: ld returned 1 exit status

C:\Users\U1\Desktop\freeglut\tutorial16>pause
Для продолжения нажмите любую клавишу . . .


2)в этой же вкладке чуть ниже (Windows Binary Release) скачал ImageMagick-7.0.9-17-Q8-x86-dll.exe установил, во время установки предлагалось установить include папку для с++ что я и сделал, далее в файле бат compile2.bat прописал пуст к папке include и lib, вот содержание файла:
Код:
g++ main.cpp math_3d.cpp pipeline.cpp camera.cpp texture.cpp -o example -lglew32 -lglu32 -lfreeglut -lopengl32 -Wl,--subsystem,windows -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=8 -I"C:\Program Files\ImageMagick-7.0.9-Q8\include" -L"C:\Program Files\ImageMagick-7.0.9-Q8\lib" -lCORE_RL_Magick++_ -lCORE_RL_MagickCore_ -lCORE_RL_MagickWand_
pause

и оно мне выдало следующее сообщение:
Код:
C:\Users\U1\Desktop\freeglut\tutorial16>g++ main.cpp math_3d.cpp pipeline.cpp camera.cpp texture.cpp -o example -lglew32 -lglu32 -lfreeglut -lopengl32 -Wl,--subsystem,windows -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=8 -I"C:\Program Files\Image
Magick-7.0.9-Q8\include" -L"C:\Program Files\ImageMagick-7.0.9-Q8\lib" -lCORE_RL_Magick++_ -lCORE_RL_MagickCore_ -lCORE_RL_MagickWand_
C:\Users\U1\AppData\Local\Temp\ccIkM9rM.o:texture.cpp:(.text+0x1d): undefined reference to `Magick::Blob::Blob()'
C:\Users\U1\AppData\Local\Temp\ccIkM9rM.o:texture.cpp:(.text+0x54): undefined reference to `Magick::Blob::~Blob()'
C:\Users\U1\AppData\Local\Temp\ccIkM9rM.o:texture.cpp:(.text+0x9b): undefined reference to `Magick::Image::Image(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:\Users\U1\AppData\Local\Temp\ccIkM9rM.o:texture.cpp:(.text+0xe6): undefined reference to `Magick::Image::write(Magick::Blob*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
C:\Users\U1\AppData\Local\Temp\ccIkM9rM.o:texture.cpp:(.text+0x13e): undefined reference to `Magick::Blob::data() const'
C:\Users\U1\AppData\Local\Temp\ccIkM9rM.o:texture.cpp:(.text+0x14d): undefined reference to `Magick::Image::rows() const'
C:\Users\U1\AppData\Local\Temp\ccIkM9rM.o:texture.cpp:(.text+0x15c): undefined reference to `Magick::Image::columns() const'
collect2.exe: error: ld returned 1 exit status

C:\Users\U1\Desktop\freeglut\tutorial16>pause
Для продолжения нажмите любую клавишу . . .


3) во вкладке Dewelop я перешел по ссылке Magic++ где по ссылке предлагается скачать исходники github скачал файл но к сожалению у меня не хватило знаний что бы собрать библиотеку

к вопросу я прикреплю исходники проекта, подскажи пожалуйста как мне подключить библиотеку к проекту, при поиске информации в интернете натыкаюсь на пустые вопросы на которых нет ответа (mingw и imagemagick) а так ответы по линуксу а у меня виндовс
Прикрепленные файлы:
55f47c06a1a8e4f30b542154d6b9b3ec7bc268ab.zip

Обсуждение

Форма ответа