Компиляция libjpeg

Есть ли кто-нибудь, кому удалось включить libjpeg в какой-то компилятор? Я перепробовал все: Dev C ++, VS10, CodeBlocks, скопировать заголовки и библиотеку вручную, добавить с компоновщиком, но ничего. Прямо сейчас я действительно признан, так как нет официального руководства о том, как скомпилировать его в любом компиляторе. Я был бы очень рад, если бы кто-нибудь смог предоставить руководство по компиляции библиотеки в любом компиляторе.
Заранее спасибо.

27

Решение

Вот как я построил libjpeg, используя MinGW для Windows:

1. Получить MinGW с MSYS

Я получил копию от http://sourceforge.net/projects/mingw/.
Цитирование с www.mingw.org:

MSYS — это набор утилит GNU, таких как bash, make, gawk и grep, позволяющих создавать приложения и программы, которые зависят от традиционных инструментов UNIX.

Нам нужно будет запустить configure скрипт, который поставляется с исходниками libjpeg.

2. Получить исходные тексты libjpeg

От http://www.ijg.org/, возьмите пакет формата Unix (Windows не будет работать с этой процедурой). Я взял jpeg_8d версия.

3. Подготовить строительный каталог

Я сделал временный каталог с именем tmp в D:\, но вы можете выбрать то, что соответствует вашим потребностям. Важным является название путей в MSYS. Как это приносит некоторые * Unixity * для Windows пути не могут быть использованы в их первоначальном виде.
В двух словах:

C:\path\to\file становится /c/path/to/file на земле MSYS, так
D:\tmp становится /d/tmp,

Разархивируйте источники libjpeg в D:\tmpтак что у вас есть jpeg-8d каталог там.

Создать jpeg-build каталог внутри D:\tmp, он будет содержать встроенную библиотеку.

Теперь все готово для сборки.

4. ./configure, make, make install

Это мантра строительства на земле Unix. Должна быть добавлена ​​опция для перенаправления процесса установки на D:\tmp\jpeg-build,

Выполните следующие команды в оболочке MSYS (также называемой оболочкой MinGW в меню «Пуск» Windows):

cd /d/tmp/jpeg-8d
./configure --prefix=/d/tmp/jpeg-build
make
make install

В качестве дополнительного шага вы можете запустить make test для безопасности.

Эти команды будут создавать как статические, так и общие версии libjpeg.

5. Возьмите товар, удалите временные

Если все работает нормально, вы можете удалить D:\tmp\jpeg-8d каталог, но сохранить jpeg-build один. Это содержит:

  • include каталог, содержащий заголовки libjpeg. Вы можете переместить их в каталог заголовков вашего компилятора.
  • lib каталог, с .a файл для передачи компоновщику. Вы можете переместить их в каталог библиотеки вашего компилятора.
  • bin каталог, содержащий общую библиотеку libjpeg libjpeg-8.dll и инструменты JPEG.
  • share каталог, содержащий man страницы для инструментов JPEG.

Теперь вы можете собрать свою программу и связать ее с libjpeg, указав правильные пути включения и библиотеки.

Вы можете найти много подробностей о процессе сборки и установки libjpeg в install.txt внутри исходного пакета.

Я надеюсь, что это будет полезно.

21

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

Скомпилировать libjpeg 9 в Visual Studio 2012, вот шаги (после разархивирования файла архива):

  1. Скачать файл WIN32.MAK (например, из http://www.bvbcode.com/code/f2kivdrh-395674-down) и поместите копию в корневой каталог исходного кода (возможно, C:\jpeg-9, но это зависит от того, где вы разархивировали его). Я буду ссылаться на этот каталог как %jpegsrc% впредь. Наличие этого файла важно; в противном случае шаг 3 приведет к ошибке.

  2. В командной строке Visual Studio откройте %jpegsrc%:

    cd %jpegsrc%

  3. В той же командной строке выполните следующее:

    NMAKE /f makefile.vc setup-v10

    Это создаст два решения Visual Studio 2010 в %jpegsrc%: jpeg.sln а также apps.sln,

  4. Откройте каждое решение в Visual Studio 2012. Каждое из них предложит вам обновить все проекты до формата 2012. Нажмите «Обновить». Один раз, когда я сделал это, подсказка не появилась. В этом случае щелкните правой кнопкой мыши на jpeg решение в обозревателе решений и выберите «Обновить проекты VC ++ …», что приведет к тому же запросу.

  5. Сохраните и постройте каждое решение как обычно. (Вы должны построить jpeg.sln решение до apps.sln, так как последнее зависит от первого.)

Примечание: этот процесс должен работать правильно в Visual Studio 2010, без обновления, но я не проверял его.

Обновить: Этот метод все еще работает в Visual Studio 2015 для libjpeg-9a,

45

Собрать jpeg.lib с VS10 действительно просто.

Сначала загрузите исходный код libjpeg в формате zip. В то время, когда я пишу это, вы можете найти это Вот.

Затем распакуйте содержимое zip-файла на свой диск.

Затем откройте оболочку командной строки VS2010 (или вызовите vcvarsall.bat в любом окне командной строки), перейдите в исходный каталог jpeg (jpeg-8d в указанной выше загрузке) и введите следующее:

nmake -f makefile.win setup-v10

Это создаст два решения VS2010 и кучу файлов проекта. Решения:

  • jpeg.sln, который строит jpeg.lib
  • apps.sln, который строит примеры приложений.

Удачи!

16

Если вы хотите режим отладки, а также в MSVC. Следуйте методу AthanasiusOfAlex, создайте релиз, затем:

  1. Щелкните правой кнопкой мыши по проекту и выберите свойства в самом
    низ
  2. Нажмите на менеджер конфигурации и на активное решение
    выберите раскрывающийся список конфигурации
  3. Установите имя для отладки и на
    в раскрывающемся списке выберите копировать настройки конфигурации из выпуска и
    нажмите ОК
  4. Закройте диалоговое окно, перейдите в общие настройки и в разделе Цель
    Имя добавьте d в конец, чтобы оно выглядело так: $ (ProjectName) d
  5. В раскрывающемся списке «Оптимизация всей программы» выберите «Без оптимизации всей программы».
  6. Затем нажмите на C / C ++ в свойствах конфигурации слева и в раскрывающемся списке Формат отладочной информации выберите C7-совместимый (/ Z7)
  7. В разделе «Оптимизация» выберите «Отключено» и выберите «НЕТ» как для «Оптимизация по оптоволокну», так и для оптимизации всей программы.
  8. Под препроцессором, определениями препроцессора, нажмите на edit и используйте следующее:
    WIN32
    _DEBUG
    DEBUG
    _LIB
    _CRT_SECURE_NO_WARNINGS
  9. В разделе «Генерация кода» в разделе «Библиотека времени выполнения» выберите «Многопоточная отладочная DLL» (/ MDd).

Построй и готово!

2

Если у вас не установлена ​​Visual Studio 2010, вот что работает в Visual Studio 2017:

Основные / Общие шаги:

  1. Загрузите последнюю версию libjpeg с: http://www.ijg.org/ (zip версия) и распакуйте его в папку
  2. Откройте «Командную строку разработчика для VS2017»
  3. Изменить каталог (cd) куда вы распаковали исходный код библиотеки

VS 2017 Подход:

  1. Включите каталог Windows SDK v7.1A (требуется для Win32.Mak позже), запустив: set INCLUDE=%INCLUDE%;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include

  2. Бежать nmake /f makefile.win setup-v15 (обратите внимание на v15 для VS2017 здесь)

Далее следуйте указаниям @AthanasiusOfAlex, чтобы обновить решение Visual Studio 2010 до версии Visual Studio, которую вы используете. Если вам нужна конфигурация отладки, следуйте объяснениям @SteveEng.

Ошибки, с которыми вы можете столкнуться:

  • Если nmake терпит неудачу и говорит вам, что не знает, как сделать
    jconfig.h, вручную переименовать файл jconfig.vc в jconfig.h
  • Если nmake дает сбой и сообщает, что Win32.Mak не может быть найден, вручную скопируйте его из каталога SDK, упомянутого в шаге 4, в исходный каталог libjpeg. Если у вас не установлена ​​эта версия SDK, загрузите файл с заслуживающего доверия ресурса.
  • Если nmake терпит неудачу и говорит вам, что не знает, как сделать setup-v15, проб и ошибок, начиная с setup-v10, setup-v11и т. д. Это версии VS, и одна из них должна работать, если у вас установлена ​​любая версия VS, более поздняя, ​​чем VS 2008.

Надеюсь, что это помогает людям пережить подобную боль с этим.

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