Click here to Skip to main content
15,885,366 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I want to load a png image into an array. I was told to download the CImg library.
The problem is that it uses the pngLib which I don't know how to link.
I downloaded some files from the libpng homepage, but adding the directory to additional include directories, the h files to the project and copying the zlib1.dll to the exe directory is not enough.

I get an error when I try to use the class:

myFloatImg (300,200);
string testFilename="testImage.png";
myFloatImg.load (filename.c_str());


the error:
c:\...\cimg.h(34670): error C3861: 'png_set_expand_gray_1_2_4_to_8': identifier not found

I guess it's a call to a function from pngLib
What should I do?
*openCV is not an option

Thanks!
Posted

The issue is not a library linking issue.
You're probably missing some header file (#include) or are not using a namespace name (using namespace).

What are you trying to do with the image?
You could try to use GDI+.
GDI+ has several classes like Image, Graphics etc. that can do a lot of image manipulation and it supports PNG too.
 
Share this answer
 
I should have link the objs of pngLib and zlib in additional dependences.
They should be added there as "pnglib.lib, zlib.lib"
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900