Recent comments

Reply to: Zlib with LibRaw 18.0.   10 years 2 months ago

uncompress() is from zlib (library or DLL)

Reply to: Zlib with LibRaw 18.0.   10 years 2 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.   10 years 2 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.   10 years 2 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.   10 years 2 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.   10 years 2 months ago

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

Reply to: Zlib with LibRaw 18.0.   10 years 2 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.   10 years 2 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.   10 years 2 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.   10 years 2 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   10 years 2 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   10 years 2 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   10 years 2 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   10 years 2 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   10 years 2 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   10 years 2 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   10 years 2 months ago

try to use static build and static linking.

Reply to: Static build of libraw for windows 64bit   10 years 2 months ago

Looks like you broke your project file in some way

Reply to: I would like to know a bit more about RawSpeed   10 years 2 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   10 years 2 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   10 years 2 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   10 years 2 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.

Reply to: Static build of libraw for windows 64bit   10 years 2 months ago

You need to build it and add as a dependency.

All other dependencies (e.g. libjasper for jpeg2000 files) are optional, including jpeg (you can build libraw without jpeg compression support).

This one is not yet, because 0.18 branch is far from finished

Reply to: Static build of libraw for windows 64bit   10 years 2 months ago

I did download zlib.h and zconf.h added to include files. Or I should build it and add as a dependency? Are there any other external dependencies that I should be aware of? like perhaps libjpeg?

Reply to: Static build of libraw for windows 64bit   10 years 2 months ago

Libraw 0.18 (development branch) needs zlib (zlib.net) to support deflated DNG files.

This it to be changed (this dependency will change to optional) in some future update before 0.18-release.

Pages