Developer forums (C::B DEVELOPMENT STRICTLY!) > Plugins development

Plug-in Issues

(1/3) > >>


When I create a new Plug-in Project I run into so many problems that I couldn't begin to describe them to anyone and in the end still make sense. I guess the simplest thing would be to create an empty plug-in and try to open and build it yourself.

What I noticed while using the Project Wizard:
- I have wxWidgets 3.1.3 installed but that does not seem to show up on all locations in C::B.
- There's no reference to wx31 in Build | Select Target and Project Wizard seems unaware of it sometimes.
- Linker default: $(#cb)\devel30 is used instead of $(#cb)\devel31_64 so no linking happens.

When I open the virgin plug-in in C::B I get this error, repeated many times when I keep clicking Ok.

...\wxWidgets\include\wx\strvararg.h(451): assert "(argtype & (wxFormatStringSpecifier<T>::value)) == argtype" failed in wxArgNormalizer(): format specifier doesn't match argument type

Building seems not to be hindered by the error but many of the files a not in the places the wizard thought of looking.

These issues must must be an error in my setup, but I cannot figure out what I did wrong at install or are doing wrong now. I can get all paths resolving and the project building to completion. But the next time around the same thing will happen.

I'm running C::B 12292, Win7.

Any thoughts?

The wizard normally remembers the path you entered; try entering the correct path and it should remember it.
You entered the wrong path once and it now remembers it.
You need to verify the Global Variables are set correctly before running the wxWidgets wizard!

Tim S.

Miguel Gimenez:
Excerpt from the script:

--- Code: ---        intro_msg += _T("\nVERY IMPORTANT NOTE:\n\n" +
                        "Code::Blocks is built with the GNU GCC compiler and links to\n" +
                        "the monolithic unicode wxWidgets DLL.\n" +
                        "This means that you must have exactly this setup to be able to\n" +
                        "build the generated plugin.\n" +
                        "You must also have defined two global variables:\n" +
                        "   1. $(#cb) pointing to Code::Blocks base dir (where CodeBlocks.cbp is)\n" +
                        "   2. $(#wx) pointing to wxWidgets base directory\n\n\n");

--- End code ---

So, it looks like the CB Plugin Wizard was never updated for 64 bit and maybe never updated for wxWidgets 3.1.
The user can edit the script to fix the problem; I have no plans to ever waste my time editing any wizard because I have already wasted 100 plus hours with no return!

Tim S.

Miguel Gimenez:
When shown, the "VERY IMPORTANT NOTE" is truncated after "global", so the variables needed are not visible (see attached image).

Later, after selecting wxWidgets 3.1 it creates three targets:
  - default
  - to_codeblocks_wx28
  - to_codeblocks_wx30

IMHO the targets should be:
  - default
  - to_codeblocks_wx31


[0] Message Index

[#] Next page

Go to full version