Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hardcoded Windows DLL dependencies #75

Open
DDuarte opened this issue Dec 24, 2015 · 3 comments
Open

Hardcoded Windows DLL dependencies #75

DDuarte opened this issue Dec 24, 2015 · 3 comments

Comments

@DDuarte
Copy link
Contributor

DDuarte commented Dec 24, 2015

Related to #51

The file c-lib.js hardcodes the VC runtime library msvcr120 making it only compatible with DLLs built with Visual Studio 2013. This causes Node to crash when external DLLS (libstorm.dll, libblp.dll) are compiled with a different VS version, e.g, ucrtbase/ucrtbased should be used if compiling with VS 2015 (or above).

@timkurvers
Copy link
Member

Ah good point! When Peter and I looked at this, only Node 0.10 and 0.12 were relevant. Is there any way to dynamically fetch the DLL-name based on node-gyp?

@timkurvers
Copy link
Member

Or at least, if I remember correctly, the version Node was compiled with needs to match the version the libraries get compiled with.

@DDuarte
Copy link
Contributor Author

DDuarte commented Dec 24, 2015

I'm afraid it doesn't matter what Node or node-gyp uses.

Right now (however this could change if more file formats are added and so on), the only thing that matters is that the runtime DLL specified in c-lib matches the runtime linked with libblp (because fopen is used as an argument to blp_processFile).

Honestly I don't know how to make this generic. At least, after version 14.0 (VS 2015), the runtime library filename is no longer versioned (there's no msvcr140), only ucrtbase(d).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants