要在Visual Studio 2012中编译libjpeg 9,请执行以下步骤(解压存档文件后): 1.下载文件WIN32.MAK(例如,从http://www.bvbcode.com/code/f2kivdrh-395674-down),并将副本放在源代码根目录(可能是C:\jpeg-9,但这取决于您解压缩它的位置)。从现在开始,我将把这个目录称为%jpegsrc%。拥有这个文件很重要;否则步骤3将产生错误。 1.在Visual Studio命令提示符下,打开%jpegsrc%: cd %jpegsrc% 1.在同一命令提示符下,执行以下命令: NMAKE /f makefile.vc setup-v10 这将在%jpegsrc%中创建两个Visual Studio 2010解决方案:jpeg.sln和apps.sln。 1.在Visual Studio 2012中打开每个解决方案。每个解决方案都会提示您将所有项目更新为2012格式。单击“更新”。有一次我这样做了,提示没有出现。如果发生这种情况,请在解决方案资源管理器中右键单击jpeg解决方案,然后选择“更新VC++项目...”,这将产生相同的提示。 1.保存并正常构建每个解决方案(必须在apps.sln之前构建jpeg.sln解决方案,因为后者依赖于前者)。 注意:这个过程应该在Visual Studio 2010中正常工作,没有更新,但我没有测试过。
**更新:**此方法在Visual Studio 2015 for libjpeg-9a中仍然有效。
This is for VS2019 with version number 16.0 在创建.sln文件时,请正确考虑Visual Studio版本名称,如下所示。 产品名称代号版本号 Visual Studio 2019开发人员16 16.0 Visual Studio 2017开发工具15.0 Visual Studio 2015 Dev14 14.0 Visual Studio 2013 Dev12 12.0
7条答案
按热度按时间sg2wtvxw1#
要在Visual Studio 2012中编译
libjpeg
9,请执行以下步骤(解压存档文件后):1.下载文件
WIN32.MAK
(例如,从http://www.bvbcode.com/code/f2kivdrh-395674-down),并将副本放在源代码根目录(可能是C:\jpeg-9
,但这取决于您解压缩它的位置)。从现在开始,我将把这个目录称为%jpegsrc%
。拥有这个文件很重要;否则步骤3将产生错误。1.在Visual Studio命令提示符下,打开
%jpegsrc%
:cd %jpegsrc%
1.在同一命令提示符下,执行以下命令:
NMAKE /f makefile.vc setup-v10
这将在
%jpegsrc%
中创建两个Visual Studio 2010解决方案:jpeg.sln
和apps.sln
。1.在Visual Studio 2012中打开每个解决方案。每个解决方案都会提示您将所有项目更新为2012格式。单击“更新”。有一次我这样做了,提示没有出现。如果发生这种情况,请在解决方案资源管理器中右键单击
jpeg
解决方案,然后选择“更新VC++项目...”,这将产生相同的提示。1.保存并正常构建每个解决方案(必须在
apps.sln
之前构建jpeg.sln
解决方案,因为后者依赖于前者)。注意:这个过程应该在Visual Studio 2010中正常工作,没有更新,但我没有测试过。
**更新:**此方法在Visual Studio 2015 for
libjpeg-9a
中仍然有效。xyhw6mcr2#
下面是我如何在Windows上使用MinGW构建libjpeg:
1.使用MSYS获取MinGW
我从http://sourceforge.net/projects/mingw/得到了一份拷贝。引用自www.mingw.org:
MSYS是一个GNU实用程序的集合,如bash,make,gawk和grep,允许构建依赖于传统UNIX工具的应用程序和程序。
我们需要它来运行libjpeg源代码附带的
configure
脚本。2.获取libjpeg源
从http://www.ijg.org/开始,取Unix的包(Windows格式的包不适用于此过程)。我取的是
jpeg_8d
版本。3.准备构建目录
我在
D:\
中创建了一个名为tmp
的临时目录,但您可以选择任何适合您需要的内容。重要的是MSYS中的路径名称。由于它为Windows带来了一些 * Unixity *,因此路径不能以原始形式使用。简而言之:C:\path\to\file
在MSYS区变成/c/path/to/file
,因此D:\tmp
变成/d/tmp
。解压缩
D:\tmp
中的libjpeg源代码,这样就有了一个jpeg-8d
目录。在
D:\tmp
中创建一个jpeg-build
目录,它将保存构建的库。现在一切都准备好了。
4. ./configure,make,make install
这是在Unix环境中构建的咒语。应该添加一个选项来将安装过程重定向到
D:\tmp\jpeg-build
。在MSYS shell(在Windows开始菜单中也称为MinGW shell)中运行以下命令:
作为附加步骤,您可以运行
make test
以确保安全。这些命令将构建libjpeg的静态和共享版本。
5.拿货,删除临时工
如果一切正常,您可以删除
D:\tmp\jpeg-8d
目录,但保留jpeg-build
目录。它包含:include
目录,包含libjpeg头文件。你可以把它们移到编译器的headers目录。lib
目录,其中包含要传递给链接器的.a
文件。您可以将它们移动到编译器的库目录中。bin
目录,包含libjpeg共享库libjpeg-8.dll
和jpeg工具。share
目录,包含jpeg工具的man
页面。您现在可以构建您的程序并通过指示正确的include和库路径将其链接到libjpeg。
您可以在源包中找到有关
install.txt
中libjpeg构建和安装过程的许多详细信息。我希望这将是有用的。
ruoxqz4g3#
使用VS 10构建jpeg.lib非常简单。
首先,下载zip格式的libjpeg源代码。在我写这篇文章的时候,你可以找到它here。
然后将zip文件的内容解压缩到磁盘。
然后打开VS2010命令提示符shell(或在任何命令提示符窗口中调用vcvarsall.bat),cd到jpeg源目录(上面引用的下载中的jpeg-8d)并键入以下内容:
这将生成两个VS2010解决方案和一堆项目文件。解决方案是:
jpeg.sln
,用于构建jpeg.lib
apps.sln
,它构建了示例应用程序。祝你好运!
pwuypxnk4#
如果您没有安装Visual Studio 2010,以下是在Visual Studio 2017上工作的内容:
基本/常用步骤:
1.从以下网址下载libjpeg的最新版本:http://www.ijg.org/(zip版本)并将其解压缩到文件夹
1.打开“VS 2017的开发者命令提示符”
1.将目录(
cd
)更改为解压缩库源的位置VS 2017年方法:
1.包含Windows SDK v7.1A目录(稍后通过nmake对Win32.Mak进行要求),方法是运行:
set INCLUDE=%INCLUDE%;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include
1.运行
nmake /f makefile.win setup-v15
(请注意VS 2017的v15)从这里开始,按照@AthanasiusOfAlex的解释将Visual Studio 2010解决方案升级到您正在运行的Visual Studio版本。如果您想要调试配置,请按照@SteveEng的解释。
您可能遇到的错误:
nmake
失败并告诉您它不知道如何生成jconfig. h,则手动将文件jconfig.vc
重命名为jconfig.h
nmake
失败并告诉您找不到Win32.Mak,请手动将其从步骤#4中提到的SDK目录复制到libjpeg源目录。如果您碰巧没有安装该SDK版本,请从值得信赖的资源下载该文件。nmake
失败并告诉您它不知道如何使setup-v15
,请尝试从setup-v10
,setup-v11
等开始尝试错误......这些都是VS版本,只要您安装了VS 2008之后的任何VS版本,其中一个应该可以工作。希望这能帮助那些经历过类似痛苦的人。
a9wyjsp75#
如果你也想在MSVC中使用调试模式,按照AthanasiusOfAlex的方法,构建发布版,然后:
1.右键单击项目并选择最底部的属性
1.单击“配置管理器”,然后在“活动解决方案配置”下拉列表中选择-new-
1.将名称设置为debug,并在下拉列表中选择从发行版复制配置设置,然后单击OK
1.关闭对话框,转到常规设置,在“目标名称”下,在末尾添加一个d,使其看起来像这样:$(项目名称)% d
1.在“整个程序优化”下拉列表中,选择:没有整个程序优化
1.然后单击左侧配置属性下的C/C++,并在调试信息格式下拉列表中选择C7兼容(/Z7)
1.在“优化”下,选择“禁用”,然后为“启用光纤安全优化”和“整个程序优化”选择“否
1.在预处理器、预处理器定义下,单击编辑并使用以下命令:WIN32 _DEBUG调试_LIB _CRT_SECURE_NO_Warnings
1.在“代码生成”下的“运行时库”下,选择“多线程调试DLL(/MDd)”
构建和你完成!
tcomlyy66#
我使用以下步骤在Visual Studio 2022 cmd中构建了libjpeg-turbo:
所有的exe、dll和libs都将在build_jpeg文件夹中创建。
dgjrabp27#
This is for VS2019 with version number 16.0
在创建.sln文件时,请正确考虑Visual Studio版本名称,如下所示。
产品名称代号版本号
Visual Studio 2019开发人员16 16.0
Visual Studio 2017开发工具15.0
Visual Studio 2015 Dev14 14.0
Visual Studio 2013 Dev12 12.0