User forums > Help
Problems making CB for OSX from wiki instructions
bnilsson:
Just curious: If CB usually loads the plugins from share/codeblocks, what then is the purpouse of share/codeblocs/plugins?
afb:
--- Quote from: bnilsson on September 25, 2006, 07:50:53 am ---Just curious: If CB usually loads the plugins from share/codeblocks, what then is the purpouse of share/codeblocs/plugins?
--- End quote ---
It loads the code from codeblocks/plugins/libplugin.so, but
loads the resources from codeblocks/plugin.zip (no idea why)
bnilsson:
Just to clarify:
For me, plugins only loads if I manually create the libpluginname.zip resources from the manifest.xml in the src/plugins/... and put them in share/codeblocks/plugins together with the lib*.so and lib*.la.
Pluginnames.zip plus some other .zip files already exists in share/codeblocks. If I remove or move pluginnames.zip I get error messages "resource not found", and if I remove the other .zip files I get a crasch.
I tested this because I wanted to see if the .zip files were just in the wrong place. This of course was not the case.
afb:
To clarify, I patched my Code::Blocks to look in "pluginname.zip" instead of in "libpluginname.zip". Just like it used to do on Mac, and like it does on Linux...
http://developer.berlios.de/patch/?func=detailpatch&patch_id=1524&group_id=5358
With "no idea why" I meant why the library is in "plugins" and not the resources.
(i.e. not why they are named like they are, but why they are in separate dirs...)
Pecan:
--- Quote from: afb on September 25, 2006, 11:08:53 am ---To clarify, I patched my Code::Blocks to look in "pluginname.zip" instead of in "libpluginname.zip". Just like it used to do on Mac, and like it does on Linux...
http://developer.berlios.de/patch/?func=detailpatch&patch_id=1524&group_id=5358
With "no idea why" I meant why the library is in "plugins" and not the resources.
(i.e. not why they are named like they are, but why they are in separate dirs...)
--- End quote ---
A change was made to the way plugins are loaded.
PluginManager.cpp finds the pluginname.so file in .../share/codeblocks/plugin, but does not load it yet.
It then looks in .../share/codeblocks for a file named pluginname.zip which is supposed to contain a manifest file named manifest.xml . The manifest contains the plugin name, version, UI interface version, author, etc. If all this matches the pluginname.so that was found, the pluginname.so is then loaded.
The devs thought it to be much faster to open a manifest file and validate the plugin, then to load all the pluginname.so files to validate them.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version