ext4tc

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48199
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

The error seems to occur within the plugin when TC calls FsInit or FsInitW. The error "Read of address 00000000." is an indication that the plugin called GetProcAddress and then tried to call a function which doesn't yet exist on Windows XP.
Author of Total Commander
https://www.ghisler.com
krasusczak
Senior Member
Senior Member
Posts: 282
Joined: 2011-09-23, 10:35 UTC

Post by *krasusczak »

krzychuu I see that you create version 0.17, but it stops working at w2k, can you rebuild it as 0.16 to support this old OS?
iana
Senior Member
Senior Member
Posts: 345
Joined: 2010-07-27, 22:00 UTC

Post by *iana »

@krasusczak
0.17 is build with VC10 and dynamically linked with msvcr100.dll and msvcp100.dll that build doesn't support 2k,
try this one build with VC9 and statically linked to the runtime it's a bit bigger ~95k compared to the official ~23k but it should work under 2k.
ext4Plugin-0.17-VC9-static.rar

ps. krzychuu's static builds are done with VC10, ms dropped 2k support with VC10, there are ways around ms's limitation but those don't always work.
you can google editing visual studio 2010 builds for 2k support.
krasusczak
Senior Member
Senior Member
Posts: 282
Joined: 2011-09-23, 10:35 UTC

Post by *krasusczak »

Thx iana, i appreciate it!

I have one question iana, i downloaded & install C++ form VS2008ExpressWithSP1ENUX1504728.iso
I compile this plugin with success but my question is related with compilation options.
Right now i just opened project, change from Debug to Release & compile as /MT rest i leave as default. Do i need to change something more for proper optimalization or functionalization??

I just have no idea about C++ programming & compilation in VS:P
iana
Senior Member
Senior Member
Posts: 345
Joined: 2010-07-27, 22:00 UTC

Post by *iana »

It depends on your system, as you have vs2008 you probably have the Microsoft Visual Studio 2008 runtime installed so you can compile it with the /MD switch, that will make the plugin a bit smaller but as far as I remember ghisler suggests using /MT for all C/C++ plugins for the sole purpose of avoiding dll hell, the advanced compiler flags (like Arch:SSE etc. ) are not available in the Visual Studio Express editions so I don't think you can change any other options.
krasusczak
Senior Member
Senior Member
Posts: 282
Joined: 2011-09-23, 10:35 UTC

Post by *krasusczak »

when i compile with /MD plugin is 75% smaller but won't work at w2k because lack of dll from vc2008, dll are only linked, with /MT there are in static mode i think:D
iana
Senior Member
Senior Member
Posts: 345
Joined: 2010-07-27, 22:00 UTC

Post by *iana »

when i compile with /MD plugin is 75% smaller but won't work at w2k because lack of dll from vc2008
Well those aren't available by default anywhere you need to install them manually, you can get the latest build here
http://www.microsoft.com/en-us/download/details.aspx?id=11895
the 32bit builds work under 2000 so if you install them you can build with /MD, but the bigger problem is dll hell, using plugins compiled with /MD might cause dependency on a lot of dll's starting from VC6 up to VC11 and with the new 64bit version of tc you'll need twice the number of runtime dll's.
I really think most authors should use /MT instead of /MD to avoid dll hell.
Post Reply