compile 64-bit version of lzo.dll
Asked Answered
M

1

3

[Update] I've since compiled successfully and anyone else chasing these binaries can download from here

I'm compiling version 2.06 of lzo by issuing the following command from the Visual Studio Command Prompt (2010)

b\win64\vc_dll.bat

which produces lzo2.dll without any errors, however this doesnt look like it really did produce the 64-bit dll as my 32bit C# app can still reference and call methods (successfully)

How can I compile the 64bit version?

some of the comments on this question may be outdated as the question changed but I since changed it back to the original question when it got more involved so I could mark the response as the answer

Mainsail answered 21/11, 2011 at 23:8 Comment(2)
"implicitly dependent module" I believe indicates that the lzo2.dll depends on some x.dll where x.dll is delay loaded, or loaded with LoadLibrary(). That is, it won't show up on the static/explicit list of dependencies that depends.exe finds. (but you should collapse the list of DLLs so we have more info from your screenshot) Could be wrong here, but something to keep in mind. Does lzo2.dll expect something like zlib.dll to be installed alongside it?Duala
@Duala screenshot updated, lzo doesnt have any third party dependenciesMainsail
T
1

Almost certainly you will be using the wrong set of compilers; 64bit compilation isn't controlled by a command line flag - it's a completely different toolset;

Issue the build commands from the "Visual Studio x64 Win64 Command Prompt (2010)" which you will find in the Start Menu\Programs\Microsoft Visual Studio 2010\Visual Studio Tools.

e.g.

 c:\> cd /d h:\temp\lzo-2.06 
 H:\temp\lzo-2.06> b\win64\vc_dll.bat
Teneshatenesmus answered 21/11, 2011 at 23:36 Comment(7)
Thanks, have recompiled and now am getting a different error, please see updated question.Mainsail
Sounds like there mixed dependencies in there - I'd remove the entire lzo directory tree and install again from distribution. FWIW I've just built it fine.Teneshatenesmus
ok good suggestion. i downloaded again and ran command as above and still dependency walker fails to open it, i also tried from c#, same error. were you able to open in DW? when you say 'i've built it just fine' - it builds fine for me too (no apparent errors) i just can't use it anywhere! ru on win7, x64 with VS2010?Mainsail
I ran testmini.exe; it is 64bit - although I used CFF explorer to check the DLLs ntcore.com/exsuite.php and no probs there. Can you run testmini.exe? Also check the result of typing SET to ensure there are no x86 dirs; see mine for reference pastebin.com/ZAUxK95dTeneshatenesmus
i've opened it with CFF(nice app!) and ran testmini, all good, so I was where you were at all along (I think). So ignoring the fact DW doesnt like it it seems the issue now would be i am incorrectly referencing it in my C# app - the code sample i pasted above was working for lzo1.1, can you think why switching to the x64 dll of lzo would break this code, causing the entire application to just die?Mainsail
check out this windbg output. pastebin.com/fnE6hCDw lzo2.dll then MSVCR100.dll is loaded and then bang, app exits...Mainsail
hi Richard, thanks again for your answers, i have marked it as so. I've opened a new question for the following issues, see this url if interested. #8242232Mainsail

© 2022 - 2024 — McMap. All rights reserved.