Командная строка Windows C++ C1083 "Не удается открыть включаемый файл:" Magick++. H "Нет такого файла или каталога"

Прошло более 4 часов с тех пор, как я вообще что-то сделал, искал документацию и ссылки, и, честно говоря, у меня нет идей. Так что здесь идет.

Фон

  • Я компилирую программу C++ в командной строке
  • Я новичок в командной строке и довольно плохо знаком с C++
  • Я пишу эту программу в Notepad++ (не VS), но VS установлен, поэтому я могу скомпилировать
  • Я пытаюсь использовать ImageMagick через Magick ++, C++ API-оболочку для него.
  • Главный каталог программ
    • C:/Program Files (x86)/CameraSoftware/myCameraProgram.cpp
  • Каталог магии ++
    • C:/Program Files (x86)/ImageSoftware/Magick++/lib/Magick.h

вопросы

  • Я пытаюсь использовать Magick++ API и поэтому хочу включить его
  • Я просто использую это в файле.cpp #include <Magick++.h>
  • Я возился с многочисленными решениями, которые работали на других, но безрезультатно
    • фатальная ошибка C1083: не удается открыть включаемый файл: 'Magick++.h': такого файла или каталога нет

проблема

  • Как правильно скомпилировать и связать "Magick++. H" правильно через командную строку?
  • В настоящее время он составлен как таковой
    • cl myCameraProgram.cpp /EHsc /link DSLRRemoteLib.lib
    • DSLRRemoteLib - это файл lib, расположенный в том же каталоге, и для его работы требуются /EHsc и /link

Другие решения

  • Я полагаю, что для проектов Visual Studio вы можете добавить внешние пути каталогов к проекту, поэкспериментировав с конфигурациями, но у меня нет такой роскоши при использовании notepad ++, поэтому мне действительно нужно знать, как правильно скомпилировать
  • Я пробовал жесткое кодирование в myCameraProgram.cpp #include "COMPLETE_DIR_PATH/Magick++. H", и он скомпилируется, но Magick ++. H содержит больше включений в него (например, #include <Magick++/Include.h>), и это вызовет ошибку C1083 для каждого из заголовочных файлов.
    • Я также пытался жестко кодировать пути к файлам в Magick ++. H и те же проблемы с заголовочными файлами следующего уровня. Так что это не решение проблемы.
    • Я также попытался добавить дополнительный аргумент для /link файла в строке компиляции
    • cl myCameraProgram.cpp /EHsc /link DSLRRemote "COMPLETE_DIR_PATH/Magick++.h" но не работает
    • Также попробовал cl myCameraProgram.cpp /EHsc /link DSLRRemote /l "COMPLETE_DIR_PATH/Magick++.h"
    • Наряду с несколькими неудачными попытками.

Любая помощь или совет или направление будут высоко оценены, спасибо!

======== РЕДАКТИРОВАТЬ ========

Спасибо за советы всем.

  • Используя /I "C:\Users\ME\Documents\ImageMagick-6.8.1-10\Magick++\lib", я мог бы успешно связать #include "Magick++. H", но он больше нигде не ищет другие файлы.
  • Он не может найти #include, которое находится в пути к подкаталогу "C:\Users\ME\Documents\ImageMagick-6.8.1-10\Magick++\lib\MagiC++ \ Include.h".
  • "Magick ++ / Include.h" также ссылается на другой подкаталог в родительском каталоге.

Прогресс

  • Моя текущая строка компиляции командной строки:
  • cl "C: \ Users \ ME \ Documents \ ImageMagick-6.8.1-10 \ Magick ++ \ lib"
  • Находит "Магию ++. Ч"

вопрос

  • "Magick++. H" - это заголовочный файл, который включает 4 заголовка
  • После компиляции он не может найти другие файлы, которые находятся в подкаталоге
  • Есть ли способ связать ВСЕ подкаталоги и файлы по пути
  • "C:\Users\ME\Documents\ImageMagick-6.8.1-10" в компиляции случайно?

1 ответ

Решение
sudo apt-get install libmagickwand-dev imagemagick
sudo apt-get install libmagick++-dev libmagick++4
Другие вопросы по тегам