Компиляция — C ++ Командная строка Windows C1083 & quot; Невозможно открыть включаемый файл: ‘Magick ++. h’ Нет такого файла или каталога & quot;

Прошло более 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» в компиляции случайно?

4

Решение

sudo apt-get install libmagickwand-dev imagemagick
sudo apt-get install libmagick++-dev libmagick++4
-3

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

Других решений пока нет …

По вопросам рекламы [email protected]