Есть ли кто-нибудь, кто может включить libjpeg в какой-нибудь компилятор? Я пробовал все: Dev С++, VS10, CodeBlocks, скопировать заголовки и lib вручную, добавить с компоновщиком, но ничего. Сейчас я действительно уверен, что нет официального руководства по его компиляции в любом компиляторе. Я был бы очень рад, если бы кто-то мог предоставить учебник о том, как библиотека может быть скомпилирована в любом компиляторе. Заранее спасибо.
Компиляция libjpeg
Ответ 1
Вот как я создал libjpeg, используя MinGW в Windows:
1. Получите MinGW с MSYS
У меня есть копия http://sourceforge.net/projects/mingw/. Цитата из www.mingw.org:
MSYS - это набор утилит GNU, таких как bash, make, gawk и grep, которые позволяют создавать приложения и программы, которые зависят от традиционно используемых инструментов UNIX.
Нам понадобится запустить configure
script, который поставляется с источниками 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
один. Он содержит:
- a
include
, содержащий заголовки libjpeg. Вы можете переместить их в каталог заголовков компиляторов. - a
lib
, с файлом.a
, чтобы перейти к компоновщику. Вы можете перенести их в каталог библиотеки компилятора. - a
bin
, содержащий библиотеку libjpeg sharedlibjpeg-8.dll
и jpeg. - a
share
, содержащийman
страницы для инструментов jpeg.
Теперь вы можете создать свою программу и связать ее с libjpeg, указав правильные пути include и library.
Подробные сведения о процессе сборки и установки libjpeg можно найти в install.txt
внутри исходного пакета.
Надеюсь, это будет полезно.
Ответ 2
Чтобы скомпилировать libjpeg
9 в Visual Studio 2012, выполните следующие действия (после распаковки файла архива):
-
Загрузите файл
WIN32.MAK
(например, http://www.bvbcode.com/code/f2kivdrh-395674-down) и поместите копию в корневой код (возможноC:\jpeg-9
, но это зависит от того, где вы разархивировали его). С этого момента я буду ссылаться на этот каталог как%jpegsrc%
. Наличие этого файла важно; иначе шаг 3 приведет к ошибке. -
В командной строке Visual Studio откройте
%jpegsrc%
:cd %jpegsrc%
-
В той же командной строке выполните следующее:
NMAKE /f makefile.vc setup-v10
Это создаст два решения Visual Studio 2010 в
%jpegsrc%
:jpeg.sln
иapps.sln
. -
Откройте каждое решение в Visual Studio 2012. Каждый из вас предложит обновить все проекты до формата 2012 года. Нажмите "Обновить". Однажды я сделал это, подсказка не появилась. В этом случае щелкните правой кнопкой мыши по решению
jpeg
в обозревателе решений и выберите "Обновить проекты VС++...", которые будут вызывать одно и то же приглашение. -
Сохраните и постройте каждое решение как обычно. (Вы должны построить решение
jpeg.sln
доapps.sln
, так как последнее зависит от первого.)
Примечание. Этот процесс должен корректно работать в Visual Studio 2010 без обновления, но я его не тестировал.
Обновление: Этот метод все еще работает в Visual Studio 2015 для libjpeg-9a
.
Ответ 3
Очень просто построить jpeg.lib с VS10.
Сначала загрузите исходный код libjpeg в формате zip. В то время, когда я пишу это, вы можете найти его здесь.
Затем извлеките содержимое zip файла на свой диск.
Затем откройте оболочку командной строки VS2010 (или вызовите vcvarsall.bat в любом окне командной строки), cd в исходный каталог jpeg (jpeg-8d в загрузке, упомянутом выше) и введите следующее:
nmake -f makefile.win setup-v10
Это создаст два решения VS2010 и кучу файлов проектов. Решения:
-
jpeg.sln
, который строитjpeg.lib
-
apps.sln
, который создает примеры приложений.
Удачи!
Ответ 4
Если вам нужен режим отладки, а также в MSVC. Следуйте за методом AthanasiusOfAlex, создайте выпуск, а затем:
- Щелкните правой кнопкой мыши проект и выберите свойства в самом внизу
- Нажмите на диспетчер конфигурации и на активное решение выпадающий список конфигурации -new-
- Задайте имя для отладки и включения выпадающий список настроек конфигурации копирования от выпуска и нажмите "ОК"
- Закройте диалоговое окно, перейдите к общим настройкам и в разделе "Цель" Имя добавляет d в конец, чтобы оно выглядело так: $(ProjectName) d
- В раскрывающемся списке "Оптимизация всей программы" выберите "Нет". Оптимизация всей программы.
- Затем нажмите на C/С++ в свойствах конфигурации слева и в раскрывающемся списке Формат отладки выберите C7-совместимый (/Z7)
- В разделе оптимизации выберите значение отключено и выберите "НЕТ" для "Оптимизация с использованием" Оптимизация с помощью оптоволокна "и" Оптимизация всей программы ".
- В препроцессоре, определениях препроцессора, нажмите на редактирование и используйте следующее: WIN32 _ОТЛАЖИВАТЬ ОТЛАЖИВАТЬ _LIB _CRT_SECURE_NO_WARNINGS
- При генерации кода в библиотеке времени исполнения выберите многопоточную DLL (/MDd) Debug
Сборка и все готово!