Giter Club home page Giter Club logo

digikam-pgf-database's People

Contributors

cgilles avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

ida0h wss7932

digikam-pgf-database's Issues

HELP required - Not able to use libPGF

Hi! This is Rick. Contact is at the end. Sorry for using this channel for abruptly summarizing something as important as the introduction between 2 people, specially if I am interested in making a collaboration with this real world open source app like digikam which I am a user of and a big thanked fan too, but, despite my years of exprience mostly in web development, apart form just ideas, a heavily significant code contribution from me may arrive a bit later from now since the combination of deep C++ and Qt library is not where I specialize although I have some solid C background, and have used PyQt for some apps.
Currently I am trying to finish a task I have assigned to myself months ago and for which I have been preparing reading about some CMake theory also months ago, as this task consists in something similar to this repo: taking advantage of the digikam's PGF thumbnails that already exist for every image registered. And in the end, being able to use them, not in an embedded file of any format but displayed on an application in base64 format once PGF-decoding the loaded blob.
Initially I thought the task would require to build a simple, maybe hello-world, C++ Qt app built with CMake and from there build the minimum required namespaces or classes to be able to use not only the libpgf folder's files but also the already coded pgfutils.h and .cpp That namespace and CMake files reconstruction seemed a daunting task so I have been postponing this task for some months. Meanwhile, I tried to gather some people to join and collab and learn together some technologies like deep CMake and others but that friendly recruitment ended up failing. Anyway, now after some months, after noticing the relevance of NodeJS c++ addons, and its benefits, after trying some things, life made me return to Visual Studio and the Windows API scripts I planned to make (cause yes, I am currently on windows 10 64 bit... BTW I have used some linux distros in the past for some time and not in a VM, but that just some time and now I would rely on WSL2 if I got to choose) and that's what made me return (and return more equipped, but again not so so so deeply in c++ yet) to this task of taking advantage of the digikam thumbnails...
After noticing the NodeJS C++ addons to enhance a certain NodeJS desktop app, my current objective has changed to:
Making a NodeJS C++ addon that uses node_api.h that given a string argument with the PGF encoded blob, could directly use the libpgf folder's files o decode it and then convert it to base64 format before returing it back to the caller app that would display that image.
I have checked the downloadable files of libPGF official website and even though its open source, there is not source code abailable there.. just an .exe of PGF console and some other tools...
So, only with the file of libpgf folder included in digikam, and even when including the .lib file that could be generated from those files (just in 32 bit arch because the .cpp and .h files use types like INT, BYTE, etc which are not compatible with 64 bit programs), I get the following errors when building my addon with node-yp configure build command, even when put in a x6 Native Tools VS console:

  AddonForPGF.cc
  win_delay_load_hook.cc
     Creating library 
\UtilsFromPGF\build\Release\AddonForPGF.lib and object 
\UtilsFromPGF\build\Release\AddonForPGF.exp

AddonForPGF.obj : error LNK2001: unresolved external symbol "public: void __cdecl CPGFImage::GetBitmap(int,unsigned char *,unsigned char,int * const,bool (__cdecl*)(double,bool,void *),void *)con
st " (?GetBitmap@CPGFImage@@QEBAXHPEAEEQEAHP6A_NN_NPEAX@Z3@Z)
AddonForPGF.obj : error LNK2001: unresolved external symbol "public: void __cdecl CPGFImage::Read(int,bool (__cdecl*)(double,bool,void *),void *)" (?Read@CPGFImage@@QEAAXHP6A_NN_NPEAX@Z1@Z) 
AddonForPGF.obj : error LNK2001: unresolved external symbol "public: void __cdecl CPGFImage::Open(class CPGFStream *)" (?Open@CPGFImage@@QEAAXPEAVCPGFStream@@@Z) 
AddonForPGF.obj : error LNK2001: unresolved external symbol "public: virtual __cdecl CPGFImage::~CPGFImage(void)" (??1CPGFImage@@UEAA@XZ)
AddonForPGF.obj : error LNK2001: unresolved external symbol "public: __cdecl CPGFImage::CPGFImage(void)" (??0CPGFImage@@QEAA@XZ)
AddonForPGF.obj : error LNK2001: unresolved external symbol "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl base64_encode(unsigned char const *,un 
signed __int64,bool)" (?base64_encode@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBE_K_N@Z)
UtilsFromPGF\build\Release\AddonForPGF.node : fatal error LNK1120: 6 unresolved externals 

I think I have orrectly configured my binding.gyp file and coded my AddonForPGF.cc file, so
I don't know what else to try,
I am really STUCK on this...

I hope you, as the creator of this repo, and a significant coder of this great app called digikam (which I thank for and wish all of the enhancements), could help me on this...
I am up to specify any missed detail...
An din any case here is my email: [email protected]
Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.