编译的libjpeg(Compiling libjpeg)

2019-06-18 09:18发布

是否有任何人谁成功,包括在一些编译器的libjpeg? 我什么都试过:开发C ++,VS10,代码块,用手复制标题和的lib,与链接器,但没有补充。 现在我真的confisued,因为没有关于如何编译它的编译器的官方指南。 我是真的很高兴,如果有人能提供关于如何库可以在任何编译器来编译教程。 先感谢您。

Answer 1:

下面是我如何建造的libjpeg在Windows上使用MinGW的:

1. MSYS MinGW的获取

我从拿到一份http://sourceforge.net/projects/mingw/ 。 从www.mingw.org引用:

MSYS是GNU工具如bash的集合,制作,呆子和grep允许的依赖于传统的UNIX工具是存在的应用程序和项目建设。

我们需要它来运行configure附带的libjpeg源脚本。


2.获取的libjpeg源

从http://www.ijg.org/ ,采取了Unix格式包(Windows的一个不会与此过程工作)。 我接过jpeg_8d版本。


3.准备一个建筑目录

我做了一个名为临时目录tmpD:\ ,但你可以选择任何适合您的需求。 这重要的事情是在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壳(在Windows中也称为MinGW的shell启动菜单)以下命令:

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源码包内。

我希望这将是有益的。



Answer 2:

要编译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.slnapps.sln

  4. 打开在Visual Studio 2012年各解决方案的每一个会提示你所有的项目更新至2012年的格式。 点击“更新”。有一次,我做到了,提示没有出现。 在这种情况下,在右键单击jpeg在Solution Explorer解决方案,并选择“更新VC ++项目......”,这将产生同样的提示。

  5. 保存并生成每个解决方案为正常。 (你必须建立在jpeg.sln之前解决apps.sln ,因为后者依赖于前者。)

注意:这个过程应该在Visual Studio 2010中正常工作,如果没有更新,但我没有测试它。

更新:此方法仍然有效,在Visual Studio 2015 libjpeg-9a



Answer 3:

它是建立jpeg.lib与VS10真的很简单。

首先,下载zip格式的libjpeg的源代码。 当时我在写这你可以找到它在这里 。

然后解压zip文件的内容到你的硬盘。

然后打开一个VS2010命令提示壳(或调用任何命令提示窗口vcvarsall.bat),cd到JPEG源目录(JPEG-8D在上面引用的下载)和键入以下内容:

nmake -f makefile.win setup-v10

这将产生两个VS2010的解决方案,和一堆项目文件。 该解决方案是:

  • jpeg.sln ,它建立jpeg.lib
  • apps.sln ,它建立的示例应用程序。

祝好运!



Answer 4:

如果你想在MSVC调试模式下为好。 按照AthanasiusOfAlex的方法,构建发布,则:

  1. 在项目上右键单击,并在最底部选择属性
  2. 点击配置管理器和活动解决方案配置下拉列表中选择-NEW-
  3. 将名称设置调试和自发布在下拉列表中选择复制配置设置,然后单击OK
  4. 关闭对话框,转到常规设置,并根据目标名称添加广告到最后,所以它看起来是这样的:$(项目名)d
  5. 在整个程序优化下拉列表中选择:没有整体规划设计优化
  6. 然后在C / C ++下在左边和在调试信息格式下拉配置属性选择C7兼容(/ Z7)
  7. 在优化选择禁用并选择NO两个启用光纤安全优化和全程序优化
  8. 在预处理,预处理的定义,点击编辑,并使用以下命令:WIN32 _DEBUG DEBUG _LIB _CRT_SECURE_NO_WARNINGS
  9. 下代码生成,下运行时库选择多线程调试DLL(/ MDD)

建立和大功告成!



Answer 5:

如果你不碰巧有Visual Studio 2010的安装,这里是Visual Studio的2017年是什么在起作用:

基本/常用步骤:

  1. 下载最新版本的libjpeg从的: http://www.ijg.org/ (压缩版),并将其解压到一个文件夹
  2. 打开“为VS2017开发人员命令提示符”
  3. 更改目录( cd )为您解压缩库的源

2017年VS方法:

  1. 包括通过运行Windows SDK v7.1A目录 (NMAKE后来对Win32.Mak必填项): set INCLUDE=%INCLUDE%;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include

  2. 运行nmake /f makefile.win setup-v15 (注意,VS2017的V15这里)

从这里开始关注你@AthanasiusOfAlex解释到Visual Studio 2010解决方案,您正在运行的Visual Studio版本升级。 如果你想调试配置,遵循什么@SteveEng解释。

错误可能会偶然发现:

  • 如果nmake失败,告诉你它不知道如何使jconfig.h,手动重命名文件jconfig.vcjconfig.h
  • 如果nmake失败,告诉你Win32.Mak无法找到,手动将其从步骤#4中提到的libjpeg的源目录中的SDK目录复制。 如果你不碰巧有安装SDK版本,从一个值得信赖的资源下载文件。
  • 如果nmake失败,告诉你它不知道如何进行setup-v15 ,审判并通过与错误开始用自己的方式setup-v10setup-v11 ,等等......这些都是VS版本,其中一人应该工作,只要如您有任何VS版本不迟于2008年VS安装。

希望这有助于人们通过这种类似的痛苦去。



文章来源: Compiling libjpeg