Author Topic: Plugin development for Mac  (Read 5440 times)

Offline roxlu

  • Multiple posting newcomer
  • *
  • Posts: 35
Plugin development for Mac
« on: October 12, 2009, 09:40:47 pm »
Hi, I've created a plugin on Windows which works perfect. Now I want to create a version for the Mac from it. My code compiles and I create a dynamic lib from it. This goes all well, then I use 'zip' to create a .cbplugin file from my dylib. Then I try to install the plugin using the plugin manager, and I get a message "One or more plugins were not installed successfully".  I'm using a C::B version that I compiled (version 8.02, from the svn tags directory) and these are the messages I see in the console.

Code
CGContextConcatCTM: invalid context
CGContextConcatCTM: invalid context
Failed
CGBitmapContextCreate: invalid data bytes/row: should be at least 4 for 8 integer bits/component, 3 components, kCGImageAlphaNoneSkipFirst.
CGContextConcatCTM: invalid context
CGContextConcatCTM: invalid context
CGBitmapContextCreate: invalid data bytes/row: should be at least 4 for 8 integer bits/component, 3 components, kCGImageAlphaPremultipliedFirst.
CGContextConcatCTM: invalid context
CGContextConcatCTM: invalid context
CGBitmapContextCreate: invalid data bytes/row: should be at least 4 for 8 integer bits/component, 3 components, kCGImageAlphaNoneSkipFirst.
CGContextConcatCTM: invalid context
CGContextConcatCTM: invalid context
CGBitmapContextCreate: invalid data bytes/row: should be at least 4 for 8 integer bits/component, 3 components, kCGImageAlphaPremultipliedFirst.
CGContextConcatCTM: invalid context

I've also tried to: File > New Project > Plugin, then I changed the paths to the codeblocks libs/includes, wx-2.8 includes/libs but I get the same message.

Does someone knows what's going wrong?

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7591
    • My Best Post
Re: Plugin development for Mac
« Reply #1 on: October 12, 2009, 10:00:05 pm »
I have no idea; but all the links I Googled they mentioned the wxWidgets version number; I think it is a wxWidgets issues. (I am a Windows XP person working on learning Linux/BSD.)

Suggest posting the wxWidget Version number. Might help afb answer the question.

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline roxlu

  • Multiple posting newcomer
  • *
  • Posts: 35
Re: Plugin development for Mac
« Reply #2 on: October 12, 2009, 10:05:46 pm »
Hi Tim,

This is my build log:
Code
-------------- Build: default in OpenFrameworks ---------------

g++  -g -I/usr/local/lib/wx/include/mac-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__  -DBUILDING_PLUGIN -D__WXMAC__ -DCB_PRECOMP -DWX_PRECOMP    -Itinyxml -I/usr/local/include/include -I/usr/local/include/include/wxscintilla/include -I"/usr/lib/wx/include/mac-unicode-debug-2.5 -I/usr/include/wx-2.5 /" -I/usr/local/include/wx-2.8 -I/usr/local/include/codeblocks/ -I/usr/local/include/codeblocks/wxscintilla/include/  -c /Users/diederick/Desktop/tmp/codeblocks_plugin/trunk/tinyxml/tinyxmlparser.cpp -o .objs/tinyxml/tinyxmlparser.o
g++  -g -I/usr/local/lib/wx/include/mac-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__  -DBUILDING_PLUGIN -D__WXMAC__ -DCB_PRECOMP -DWX_PRECOMP    -Itinyxml -I/usr/local/include/include -I/usr/local/include/include/wxscintilla/include -I"/usr/lib/wx/include/mac-unicode-debug-2.5 -I/usr/include/wx-2.5 /" -I/usr/local/include/wx-2.8 -I/usr/local/include/codeblocks/ -I/usr/local/include/codeblocks/wxscintilla/include/  -c /Users/diederick/Desktop/tmp/codeblocks_plugin/trunk/InstallParser.cpp -o .objs/InstallParser.o
g++  -g -I/usr/local/lib/wx/include/mac-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__  -DBUILDING_PLUGIN -D__WXMAC__ -DCB_PRECOMP -DWX_PRECOMP    -Itinyxml -I/usr/local/include/include -I/usr/local/include/include/wxscintilla/include -I"/usr/lib/wx/include/mac-unicode-debug-2.5 -I/usr/include/wx-2.5 /" -I/usr/local/include/wx-2.8 -I/usr/local/include/codeblocks/ -I/usr/local/include/codeblocks/wxscintilla/include/  -c /Users/diederick/Desktop/tmp/codeblocks_plugin/trunk/OpenFrameworks.cpp -o .objs/OpenFrameworks.o
g++  -g -I/usr/local/lib/wx/include/mac-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__  -DBUILDING_PLUGIN -D__WXMAC__ -DCB_PRECOMP -DWX_PRECOMP    -Itinyxml -I/usr/local/include/include -I/usr/local/include/include/wxscintilla/include -I"/usr/lib/wx/include/mac-unicode-debug-2.5 -I/usr/include/wx-2.5 /" -I/usr/local/include/wx-2.8 -I/usr/local/include/codeblocks/ -I/usr/local/include/codeblocks/wxscintilla/include/  -c /Users/diederick/Desktop/tmp/codeblocks_plugin/trunk/ProjectAnalyzer.cpp -o .objs/ProjectAnalyzer.o
g++  -g -I/usr/local/lib/wx/include/mac-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__  -DBUILDING_PLUGIN -D__WXMAC__ -DCB_PRECOMP -DWX_PRECOMP    -Itinyxml -I/usr/local/include/include -I/usr/local/include/include/wxscintilla/include -I"/usr/lib/wx/include/mac-unicode-debug-2.5 -I/usr/include/wx-2.5 /" -I/usr/local/include/wx-2.8 -I/usr/local/include/codeblocks/ -I/usr/local/include/codeblocks/wxscintilla/include/  -c /Users/diederick/Desktop/tmp/codeblocks_plugin/trunk/tinyxml/tinystr.cpp -o .objs/tinyxml/tinystr.o
g++  -g -I/usr/local/lib/wx/include/mac-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__  -DBUILDING_PLUGIN -D__WXMAC__ -DCB_PRECOMP -DWX_PRECOMP    -Itinyxml -I/usr/local/include/include -I/usr/local/include/include/wxscintilla/include -I"/usr/lib/wx/include/mac-unicode-debug-2.5 -I/usr/include/wx-2.5 /" -I/usr/local/include/wx-2.8 -I/usr/local/include/codeblocks/ -I/usr/local/include/codeblocks/wxscintilla/include/  -c /Users/diederick/Desktop/tmp/codeblocks_plugin/trunk/tinyxml/tinywxuni.cpp -o .objs/tinyxml/tinywxuni.o
g++  -g -I/usr/local/lib/wx/include/mac-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__  -DBUILDING_PLUGIN -D__WXMAC__ -DCB_PRECOMP -DWX_PRECOMP    -Itinyxml -I/usr/local/include/include -I/usr/local/include/include/wxscintilla/include -I"/usr/lib/wx/include/mac-unicode-debug-2.5 -I/usr/include/wx-2.5 /" -I/usr/local/include/wx-2.8 -I/usr/local/include/codeblocks/ -I/usr/local/include/codeblocks/wxscintilla/include/  -c /Users/diederick/Desktop/tmp/codeblocks_plugin/trunk/tinyxml/tinyxml.cpp -o .objs/tinyxml/tinyxml.o
g++  -g -I/usr/local/lib/wx/include/mac-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__  -DBUILDING_PLUGIN -D__WXMAC__ -DCB_PRECOMP -DWX_PRECOMP    -Itinyxml -I/usr/local/include/include -I/usr/local/include/include/wxscintilla/include -I"/usr/lib/wx/include/mac-unicode-debug-2.5 -I/usr/include/wx-2.5 /" -I/usr/local/include/wx-2.8 -I/usr/local/include/codeblocks/ -I/usr/local/include/codeblocks/wxscintilla/include/  -c /Users/diederick/Desktop/tmp/codeblocks_plugin/trunk/tinyxml/tinyxmlerror.cpp -o .objs/tinyxml/tinyxmlerror.o
g++  -g -I/usr/local/lib/wx/include/mac-ansi-release-2.8 -I/usr/local/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXMAC__  -DBUILDING_PLUGIN -D__WXMAC__ -DCB_PRECOMP -DWX_PRECOMP    -Itinyxml -I/usr/local/include/include -I/usr/local/include/include/wxscintilla/include -I"/usr/lib/wx/include/mac-unicode-debug-2.5 -I/usr/include/wx-2.5 /" -I/usr/local/include/wx-2.8 -I/usr/local/include/codeblocks/ -I/usr/local/include/codeblocks/wxscintilla/include/  -c /Users/diederick/Desktop/tmp/codeblocks_plugin/trunk/AddonDialog.cpp -o .objs/AddonDialog.o
g++ -dynamiclib -L/usr/local/include/devel -L/usr/lib/ -L/usr/local/lib  .objs/tinyxml/tinyxmlparser.o .objs/InstallParser.o .objs/OpenFrameworks.o .objs/ProjectAnalyzer.o .objs/tinyxml/tinystr.o .objs/tinyxml/tinywxuni.o .objs/tinyxml/tinyxml.o .objs/tinyxml/tinyxmlerror.o .objs/AddonDialog.o   -o OpenFrameworks.dylib -L/usr/local/lib   -framework IOKit -framework Carbon -framework Cocoa -framework System -framework QuickTime -framework OpenGL -framework AGL  -lwx_mac_richtext-2.8 -lwx_mac_aui-2.8 -lwx_mac_xrc-2.8 -lwx_mac_qa-2.8 -lwx_mac_html-2.8 -lwx_mac_adv-2.8 -lwx_mac_core-2.8 -lwx_base_carbon_xml-2.8 -lwx_base_carbon_net-2.8 -lwx_base_carbon-2.8    -lcodeblocks
ld: warning -L: directory name (/usr/local/include/devel) does not exist
Output size is 5.80 MB
Running target post-build steps
zip -j9 OpenFrameworks.zip manifest.xml
updating: manifest.xml (deflated 53%)
zip -j9 OpenFrameworks.cbplugin OpenFrameworks.dylib OpenFrameworks.zip
updating: OpenFrameworks.zip (deflated 8%)
updating: OpenFrameworks.dylib
 (deflated 82%)


And this is my Code::Blocks about info:
Code
Build: Oct 11 2009 
Version: 8.02 - wx2.8.10 (Mac OS X, Ansi)

Offline afb

  • Developer
  • Lives here!
  • *****
  • Posts: 884
Re: Plugin development for Mac
« Reply #3 on: October 12, 2009, 10:49:28 pm »
It's supposed to be -bundle and .so, not -dynamiclib and .dylib
(but on recent Mac OS X versions there's no difference any more)

If you look at dyld(1) you'll find a lot of debugging variables to set,
to make sure that it is loading the right runtime libraries and so on.