gpt4 book ai didi

c++ - 需要在 VS2013 x64 中工作的 jpeglib-turbo 示例

转载 作者:行者123 更新时间:2023-11-28 02:14:04 24 4
gpt4 key购买 nike

我正在尝试学习如何使用 jpeg-turbo 库。我有一段时间开始了。当我尝试读取 .jpg 文件时,doc 文件夹中的 example.c 示例以及我在网络上找到的每个示例在 VS2013 中崩溃。他们编译得很好。但是当我运行它们时,它们会因访问冲突错误而崩溃。

我真正需要的是一个可以在 VS2013 x64 中正常运行的小型工作(初学者友好)示例。包括main(){}代码块代码。如果 VS 项目属性中有任何我可能需要设置的特殊内容可能会导致崩溃。

我竭尽全力只是想让一个简单的示例起作用。

感谢您的帮助。

*Edit-- 这是一个非常小的例子。我还尝试让 jpeglib 在使用和不使用 Boost/GIL 的情况下运行但是在加载图像时总是崩溃:exception at 0x00000000774AE4B4 (ntdll.dll)

#include <stdio.h>
#include <assert.h>
#include <jpeglib.h>

#pragma warning(disable: 4996)

int main(int argc, char* argv[])
{
struct jpeg_decompress_struct cinfo;
struct jpeg_error_mgr jerr;
JSAMPARRAY buffer;
int row_stride;

//initialize error handling
cinfo.err = jpeg_std_error(&jerr);

FILE* infile;
infile = fopen("source.jpg", "rb");
assert(infile != NULL);

//initialize the decompression
jpeg_create_decompress(&cinfo);

//specify the input
jpeg_stdio_src(&cinfo, infile);

//read headers
(void)jpeg_read_header(&cinfo, TRUE);

jpeg_start_decompress(&cinfo); <----This guy seems to be the culprit

printf("width: %d, height: %d\n", cinfo.output_width, cinfo.output_height);

row_stride = cinfo.output_width * cinfo.output_components;

buffer = (*cinfo.mem->alloc_sarray)
((j_common_ptr)&cinfo, JPOOL_IMAGE, row_stride, 1);

JSAMPLE firstRed, firstGreen, firstBlue; // first pixel of each row, recycled
while (cinfo.output_scanline < cinfo.output_height)
{
(void)jpeg_read_scanlines(&cinfo, buffer, 1);
firstRed = buffer[0][0];
firstBlue = buffer[0][1];
firstGreen = buffer[0][2];
printf("R: %d, G: %d, B: %d\n", firstRed, firstBlue, firstGreen);
}

jpeg_finish_decompress(&cinfo);

return 0;
}

最佳答案

我发现了问题。

在我的VS项目的Linker->Input->Additional Dependencies。我将其更改为使用 turbojpeg-static.lib。或 jpeg-static.lib,当我使用非 turbo 增强库时。

turbojpeg.lib 或 jpeg.lib 在读取图像时由于某种原因崩溃。

仅供引用,我在 VS2013 中使用 libjpeg-turbo-1.4.2-vc64.exe 版本。这就是我让它发挥作用的方式。

关于c++ - 需要在 VS2013 x64 中工作的 jpeglib-turbo 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34581708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com