Recent comments

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

Thank you very much, it all worked.

I just noticed that the post about LibRaw 18 is three months old, were there any significant changes to the source since then?

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

I guess, zlib.lib *only* is enough.

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

Thanks for your patience and answers. The problem was in zlib. So I decided to do what you said I build zlib by zlib's win32\Makefile.msc using VS x64 Native tools shell. It generated a lot of libs

minizip.lib
miniunz.lib
testzlibdll.lib
zlibstat.lib
testzlib.lib
zlibwapi.lib
zlib.lib
zdll.lib

Now I should add everything except zdll.lib and testzlib.dll to my LibRaw build ?

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

uncompress() is from zlib (library or DLL)

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

That resolved several issues. Thanks. I still can't properly compile though. It throws errors such as

libraw.lib(libraw_cxx.obj) : error LNK2019: unresolved external symbol uncompress referenced in function "protected: void __cdecl LibRaw::deflate_dng_load_raw(void)" (?deflate_dng_load_raw@LibRaw@@IEAAXXZ)

\Working-pc-13882-12680-2708-1\RAWTools.dll : fatal error LNK1120: 1 unresolved externals

CreateLibrary::cmperr: Compile error: libraw.lib(libraw_cxx.obj) : error LNK2019: unresolved external symbol uncompress referenced in function "protected: void __cdecl LibRaw::deflate_dng_load_raw(void)" (?deflate_dng_load_raw@LibRaw@@IEAAXXZ)

CreateLibrary::cmperr: Compile error: C:\Users\HP\Documents\rawtools\build\RAWTools\LibraryResources\Windows-x86-64\Working-pc-13882-12680-2708-1\RAWTools.dll : fatal error LNK1120: 1 unresolved externals

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

This is preprocessor option, of course.

Without this define
DllDef is defined as:
__declspec( dllexport ) - for DLL build
and as
__declspec( dllimport ) - for your app build.

So, it works as expected: DLL exports symbols and your app imports it.

If you define LIBRAW_NODLL (for both library build and for your app build)
DllDef is defined as empty string.
So, in library this is 'just' usual functions (without extra dllexport attributes)
And your app expects just usual functions, not dllimport

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

I'm not sure I understand, is LIBRAW_NODLL a pre-processor or linker option? The dllDef is defined just as DllDef if LIBRAW_NODLL is defined.

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

For static build you need to define LIBRAW_NODLL for both library build and library use.

The trick is in libraw/libraw_types.h (see how DllDef is defined)

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

I use static /MT build. I am using Ant build and not visual studio shell.

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

win32\Makefile.msc works ok for both 32 and 64 builds. Just use it from corresponding Visual studio shell (32 or 64-bit).

Link error: do you use LibRaw as static or as dynamic (dll) build?

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

Thank you for your answer,

if you're using win32\Makefile.msc doesn't that mean that the build will be for 32bit systems? Can you later link to a x64 project?

If not, is there a way around the issue or should I just use the latest release?

I think I managed to overcome my previous problem, and build LibRaw, but when I try to link it to my VS project I g and compile it can't find the definitions of functions I'm trying to use. e.g.

: error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl LibRaw::LibRaw(unsigned int)" (__imp_??0LibRaw@@QEAA@I@Z) referenced in function myFunction

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

In our Windows programs (RawDigger, FastRawViewer) we use zlib build by zlib's win32\Makefile.msc

No extra zlibwapi.lib is used, just zlib.lib (not zdll.lib which points to zlib.dll)

Reply to: Zlib with LibRaw 18.0.   9 years 6 months ago

I just added include path to build specification, but I'm still getting the same error.

Reply to: Static build of libraw for windows 64bit   9 years 6 months ago

Sorry, I cannot continue this way.

Please use
1) release library (LibRaw 0.17), not development branch
2) Build the static library using
nmake -f Makefile.msvc
and use lib\libraw_static.lib for your application.

Reply to: Static build of libraw for windows 64bit   9 years 6 months ago

I didn't define it as LIBRAW_NODLL, but even after fixing that the same errors remain.

#ifdef WIN32
#ifdef LIBRAW_NODLL
# define DllDef
#else
# ifdef LIBRAW_BUILDLIB
# define DllDef __declspec( dllexport )
# else
# define DllDef __declspec( dllimport )
# endif
#endif
#else
# define DllDef
#endif

this how the libraw_types now looks like

Reply to: Static build of libraw for windows 64bit   9 years 6 months ago

Have you defined LIBRAW_NODLL on library and your application build?

If not, LibRaw will link as dllexport, while your app expect it as dllimport (more details are in libraw_types at DllDef define)

Reply to: Static build of libraw for windows 64bit   9 years 6 months ago

Hi again,

So I've managed to build the libraries, but when I try to link to my project I am getting the following errors

main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __cdecl LibRaw::open_file(char const *,__int64)" (__imp_?open_file@LibRaw@@QEAAHPEBD_J@Z) referenced in function GetColordataBlack

and more like it, what might be the issue?

Reply to: error while loading shared libraries: libraw.so.15: cannot open shared object file   9 years 6 months ago

Sorry, no Linux on hands, so could not check the advice:
1) ./configure --enable-shared=no
2) make clean && make # to rebuild
This will remove shared (.so) libraries and will build static (.a) instead

Than build your sample.

If you have installed libraw libraries somewhere in system (/usr/local/lib or so) you may need to deinstall it

Reply to: error while loading shared libraries: libraw.so.15: cannot open shared object file   9 years 6 months ago

Hi, what do you mean by static build and compile.
I am kinda new to this so if you could please help.
the linkage is supposed to be in the "g++" command right?

Regards

Reply to: error while loading shared libraries: libraw.so.15: cannot open shared object file   9 years 6 months ago

try to use static build and static linking.

Reply to: Static build of libraw for windows 64bit   9 years 6 months ago

Looks like you broke your project file in some way

Reply to: I would like to know a bit more about RawSpeed   9 years 6 months ago

There is no 'format list' this works different way:
each decoder may have 'flag' LIBRAW_DECODER_TRYRAWSPEED
(to get flags, call get_decoder_info).
Also, there are some exclusions (based mostly on make/model) hardcoded in LibRaw::unpack()

Speedup is not due to multicore (we use RawSpeed in single-threaded way)

Reply to: I would like to know a bit more about RawSpeed   9 years 6 months ago

Thanks for the quick reply. We will give it a go.

Is there a table of the formats that would use RawSpeed?

Also...is all the speed improvement in RawSpeed due to the use of multithreading?

Thanks!

Reply to: Static build of libraw for windows 64bit   9 years 6 months ago

Hi again, I built zlib and added it to dependencies and now I am getting

Error 11 error LNK1181: cannot open input file 'release\dcraw_emu.obj' C:\Users\HP\Documents\LibRaw\LibRaw-master\buildfiles\LINK dcraw_emu

Error 34 error LNK1181: cannot open input file 'release\dcraw_fileio.obj' C:\Users\HP\Documents\LibRaw\LibRaw-master\buildfiles\LINK libraw

And these errors.

Reply to: I would like to know a bit more about RawSpeed   9 years 6 months ago

We use LibRaw+RawSpeed in our projects (RawDigger, FastRawViewer) with success on both Windows and Mac.
Please note, that we use 'master' (stable) branch of RawSpeed, not the up-to-date 'devel' branch.

Speedup is very different depending on file format. It is very significant for lossless-JPEG compressed files (e.g. Canon CR2) and not so big for other formats.

Pages