User forums > Using Code::Blocks

How to use the plugins of old SDK for new CodeBlocks?

<< < (2/2)

MortenMacFly:

--- Quote from: Alpha on September 03, 2012, 06:44:43 am ---It adds an option to tell Code::Blocks to ignore version numbers and load plugins anyway.

--- End quote ---
Oh dear... why would you want to do this?! :o ??? You basically screw our crash protection in case the SDK changes.

This will definitely not make it into trunk. For re-compiling 3rd party plugins in an easy way if really needed (in case SDK version changed) I've prepared an article in the WiKi based on nightly builds. An alternative is always to wait for the next nightly.

For 3rd party plugin developers I can offer the following in advance:
If their repo is based on subversion we can integrate it as remote repository into the main C::B repo. Then it remains independent but people can easily have the sources from one place. (Like we did with the FortranProject plugin for example).

Surely this requires maintaining the plugin to at least SDK compatibility. If a 3rd party plugin seem dead one can ask to take ownership of an existing repo to continue development.

gonboy:
I Check the DLL file.
Codeblocks couldn't
    wxDynamicLibrary* LoadLibrary(const wxString& filename)
so failed.
=============================================
    wxDynamicLibrary* LoadLibrary(const wxString& filename)
    {
        Libs::iterator it = s_Libs.find(filename);
        if (it != s_Libs.end())
        {
            // existing lib./codeblocks
            it->second.ref++;
            return it->second.lib;
        }
        // new lib
        it = s_Libs.insert(s_Libs.end(), std::make_pair(filename, RefCountedLib()));
        it->second.lib = new wxDynamicLibrary;
        it->second.ref = 1;
        it->second.lib->Load(filename);
        return it->second.lib;
    }
=============================================
Normal DLL the last lines ,as follows:
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
000C9960   6F 67 45 76 00 5F 5F 5A  4E 4B 38 77 78 57 69 6E   ogEv.__ZNK8wxWin
000C9970   64 6F 77 31 34 47 65 74  53 63 72 6F 6C 6C 54 68   dow14GetScrollTh
000C9980   75 6D 62 45 69 00 5F 5F  5A 54 49 53 74 39 65 78   umbEi.__ZTISt9ex
000C9990   63 65 70 74 69 6F 6E 00  5F 5F 5A 4E 31 32 77 78   ception.__ZN12wx
000C99A0   53 74 72 69 6E 67 48 61  73 68 31 36 77 78 43 68   StringHash16wxCh
000C99B0   61 72 53 74 72 69 6E 67  48 61 73 68 45 50 4B 77   arStringHashEPKw
000C99C0   00    
              
But My the Dll is :
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F
00046160   70 3F 7C 3F 80 3F 84 3F  88 3F 8C 3F 90 3F 94 3F   p?|?€??????
00046170   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00046180   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
00046190   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000461A0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000461B0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000461C0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000461D0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000461E0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................
000461F0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ................                             .

Alpha:

--- Quote from: MortenMacFly on September 03, 2012, 09:09:38 am ---
--- Quote from: Alpha on September 03, 2012, 06:44:43 am ---It adds an option to tell Code::Blocks to ignore version numbers and load plugins anyway.

--- End quote ---
Oh dear... why would you want to do this?! :o ??? You basically screw our crash protection in case the SDK changes.

This will definitely not make it into trunk.

--- End quote ---
I was not planning on submitting it.  My purpose was simple convenience for not having to relink my plugins as often.  (And it has a checkbox - off by default :).)


--- Quote from: gonboy on September 03, 2012, 12:20:25 pm ---I Check the DLL file.
Codeblocks couldn't
    wxDynamicLibrary* LoadLibrary(const wxString& filename)
so failed.                        .

--- End quote ---
I sort of expected as much... my patch does not have any magic code in it.  All it does is let Code::Blocks try to load the plugin.
If you do not have access to the plugin's source, it seems your only real option to use the plugin would to stay with an older version Code::Blocks.

Navigation

[0] Message Index

[*] Previous page

Go to full version