Question for LibRaw installation

Plain text iconlibRaw_Log.txt5.21 KB

Hi guys,
I know a few people have asked this question, but no satisfied answer that I can find. So please help:

I am trying to install on Windows and using with visual studio.
And I don't understand this line in documentation:
"Set the environment parameters so that the compiler/linker would find the libraries and include-files. For Visual C++, this is done by running vcvars32.bat."

In the zip folder, I can find only the "lib" folder but no "include" folder.
What I did is that I go in to system environment variables, add the path to folder "LibRaw-0.19.5". Then I open cmd, type this:
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
nmake -f Makefile.msvc

But the log show could not find libraw_static.lib. I have checked and sure that the lib is in the link. Please see the log attached.

Hope to get some help. Thanks.


LibRaw 0.19 Win32 binary

LibRaw 0.19 Win32 binary distribution (downloadable from this site /download page) is built using
nmake -f Makefile.msvc

I do not know what is wrong on your system.

-- Alex Tutubalin

I have the answer

Hi Alex,
I use the prebuilt library for win 64 and successfully embedded into visual studio. I would like to share my method as following:
1. Extract the binaries for x64.
2. Go into visual project. Open Project Properties, In Configuration Properties:
a. /Debugging/Enviornment: add the path to LibRaw-xxx\bin
b. /C/C++/General/Additional Include Directories: add the path to LibRaw-xxx\
c. /Linker/General/Additional Library Directories: add the path to LibRaw-xxx\lib
/Linker/Input/Additional Dependencies: add libraw.lib and libraw_static.lib
My testing code is following:

#include "libraw/libraw.h"
#include "opencv2/highgui/highgui.hpp"
#include "iostream"
#include "stdio.h"

using namespace std;
using namespace cv;

int main() {
// Let us create an image processor
LibRaw iProcessor;
// Open the file and read the metadata

// The metadata are accessible through data fields of the class
cout << "Image width = " << static_cast(iProcessor.imgdata.sizes.width)
<< ", Image height = " << static_cast(iProcessor.imgdata.sizes.height) << endl;

return 0;

Results: Image width = 6024, Image height = 4024

I hope this answer will help other users and thanks for wonderful library!


I have had trouble with this for years
Not there
Not where if is suppose to be
Permission problems
Different versions

In the end it is so much easier to use a different compile
Like mingw