有没有人成功地在某个编译器中包含了libjpeg?我尝试了所有的方法:Dev C++、VS10、CodeBlocks,手动复制头文件和库文件,用链接器添加等等,但都没有成功。现在我非常困惑,因为没有关于如何在任何编译器中编译它的官方指南。如果有人能够提供关于如何在任何编译器中编译该库的教程,我将非常高兴。 提前感谢您。
有没有人成功地在某个编译器中包含了libjpeg?我尝试了所有的方法:Dev C++、VS10、CodeBlocks,手动复制头文件和库文件,用链接器添加等等,但都没有成功。现在我非常困惑,因为没有关于如何在任何编译器中编译它的官方指南。如果有人能够提供关于如何在任何编译器中编译该库的教程,我将非常高兴。 提前感谢您。
在Visual Studio 2012中编译libjpeg
9,以下是步骤(在解压缩存档文件后):
下载文件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
这将在%jpegsrc%
中创建两个Visual Studio 2010解决方案:jpeg.sln
和apps.sln
。
在Visual Studio 2012中打开每个解决方案。每个都会提示您将所有项目更新为2012格式。单击“更新”。有一次我这样做了,提示没有出现。如果发生这种情况,请右键单击解决方案资源管理器中的jpeg
解决方案,然后选择“更新VC++项目...”,这将产生相同的提示。
像平常一样保存和构建每个解决方案。(您必须先构建jpeg.sln
解决方案,然后构建apps.sln
,因为后者依赖于前者。)
注意:此过程应在Visual Studio 2010中正确工作,无需更新,但我尚未测试过。
更新:此方法仍适用于Visual Studio 2015的libjpeg-9a
。
以下是我如何在Windows上使用MinGW构建libjpeg:
我从http://sourceforge.net/projects/mingw/获取了一份拷贝。引用自www.mingw.org:
MSYS是GNU实用程序的集合,例如bash、make、gawk和grep,它们使得依赖于传统UNIX工具的应用程序和程序能够存在。
我们需要它来运行随libjpeg源代码提供的configure脚本。
从http://www.ijg.org/下载Unix格式的软件包(Windows格式的软件包不适用于此过程)。我选择了jpeg_8d版本。
我在D盘创建了一个名为tmp的临时目录,但您可以根据需要选择任何名称。重要的是MSYS中路径的名称。由于它为Windows添加了一些Unix风格,因此不能使用原始形式的路径。 简而言之:
C:\path\to\file
变成了MSYS中的/c/path/to/file
,因此
D:\tmp
变成了/d/tmp
。
将libjpeg源文件解压到D:\tmp
,这样您就会在其中得到一个名为jpeg-8d
的目录。
在D:\tmp
中创建一个名为jpeg-build
的目录,它将保存构建好的库。
现在一切准备就绪,可以开始构建了。
这是在Unix环境中构建的口头禅。需要添加一个选项来将安装过程重定向到D:\tmp\jpeg-build
。
在MSYS shell(也称为Windows开始菜单中的MinGW shell)中运行以下命令:
cd /d/tmp/jpeg-8d
./configure --prefix=/d/tmp/jpeg-build
make
make install
作为额外的步骤,您可以运行make test
以确保安全性。D:\tmp\jpeg-8d
目录,但保留jpeg-build
目录。它包含:include
目录,包含libjpeg头文件。 您可以将它们移动到编译器的头文件目录中。
- 一个lib
目录,包含传递给链接器的`.a`文件。 您可以将它们移动到编译器的库目录中。
- 一个bin
目录,保存了libjpeg共享库libjpeg-8.dll
和jpeg工具。
- 一个share
目录,包含jpeg工具的man
页面。install.txt
中找到有关libjpeg构建和安装过程的详细信息。--host=x86_64-w64-mingw32
以获取非 Cygwin 版本的 Windows。 - jiggunjerC:\msys64\mingw64\bin
并带有make.exe... - Paltoquet使用VS10构建jpeg.lib非常简单。
首先,以zip格式下载libjpeg源代码。在我撰写本文时,您可以在此处找到它:这里。
然后将zip文件的内容解压到您的磁盘上。
接下来,打开VS2010命令提示符窗口(或在任何命令提示符窗口中调用vcvarsall.bat),cd到jpeg源代码目录(下载中引用的是jpeg-8d),然后键入以下内容:
nmake -f makefile.win setup-v10
这将会生成两个VS2010的解决方案和一堆项目文件。这两个解决方案分别是:
jpeg.sln
,它用于构建jpeg.lib
apps.sln
,它用于构建示例应用程序。祝好运!
我使用以下步骤在Visual Studio 2022 cmd中构建了libjpeg-turbo:
set PATH=D:\build\build_utils\nasm-2.16.01;%PATH%
mkdir build_jpeg
cd build_jpeg
cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ..\libjpeg-libjpeg-turbo-2.1.0
nmake
在创建.sln文件时,请正确考虑Visual Studio版本名称,如下所示。
产品名称 代号 版本号
Visual Studio 2019 Dev16 16.0
Visual Studio 2017 Dev15 15.0
Visual Studio 2015 Dev14 14.0
Visual Studio 2013 Dev12 12.0
./configure && make && make install
。对我来说,在Ubuntu上从这里的.tar.gz归档文件中使用这种方法似乎很有效:http://sourceforge.net/projects/libjpeg/files/libjpeg/6b/ - John Carter