Code::Blocks Forums
Developer forums (C::B DEVELOPMENT STRICTLY!) => Plugins development => Topic started by: ThundThund on September 28, 2011, 11:21:43 pm
-
Hi all! First of all I would like to be greatful to you for your work on CodeBlocks, it's a great IDE.
My problem is related to DoxyBlocks plugin. I downloaded the CB source code, wxWidgets libraries, and so. I made some changes to the plugin (to allow XML .Net-styled comments) and all compiles fine and runs well (I can debug normally). But, when I try to use the DLL of the plugin in a installed CodeBlocks 10.05 (using the binaries for Windows), the IDE shows a message at the bottom right corner saying this:
"One or more plugins were not loaded.
This usually happens when a plugin is built for a different version of the Code::Blocks SDK.
Check the application log for more info.
List of failed plugins:
DoxyBlocks.dll"
I have been working with the source code of the last version (last tag in the repository I mean, corresponding to the last CB binary installation available). So the version is the same for the SDK. Why can this happen? Is there any workaround? Can I hack the version of the DLL?
Thanks in advance, this is really frustrating :(
-
Do yuo want to use a plugin build for svn trunk HEAD revision with codeblocks 10.05?
If yes, this won't happen. The API and ABI is different for the two versions.
You have two choices:
1. Use a nightly build. There DoxyBlocks is included by default. See the Nightly build subforum
2. Try to build DoxyBlocks for 10.05, if I remember correctly this was not possible, because DoxyBlocks required the new APIs.
Here is some info for linking a plugin to a nightly build: http://wiki.codeblocks.org/index.php?title=Linking_the_plugin_to_a_Nightly_Build (should be similar for 10.05)
-
Thanks oBFusCATed for your answer. I'm not using the source code from the HEAD version, but from the one that corresponds to the 10.05 version. If I build CodeBlocks and the plugin, then it can be used in the previously compiled CB, but if I try to use the same DLL in a CB I have installed in another machine, for example, that message appears and it doesn't work :(
I will try later using the link you posted, wish me luck!
Thanks.
-
Thanks! It works now!
- I've installed CB 10.05 from the downloadable binaries.
- I've compiled wxWidgets 2.8.10, which is the used by CB 10.05.
- I've downloaded the source code corresponding to CB 10.05 (the compressed tar.gz file).
- I've set the Global variable "wx" to the wxWidgets 2.8.10 folder.
- I've compiled CB source code.
- I've copied DoxyBlocks folder downloaded from SVN (last version available) to plugins/contrib folder, inside my CB source code folder.
- I've modified the DoxyBlocks project, replacing Search Directories of the linker by the folder of my CB installation.
- I've modified the Linker settings and the only libraries I've put there are: codeblocks, wxscintilla, wxmsw28u_gcc_cb. With no lib prefix nor .dll sufix.
- Then I've packed all to create the cbplugin file and now I can install it with no version problems in my installed CB!.
Thanks again!