Hi Afb,
I'm still trying to create a plugin for the mac. I want to use Code::Blocks to to create this plugin as I'm doing that on Windows as well. There are maybe some issues which are Mac related; for example when I select "Dynamic library" (Project > Properties > Build targets) than it uses "-shared" instead of bundle. I fixed this by going to the advanced compiler settings and changing the -shared to -bundle. Than I try to rename the output to: OpenFrameworks.so instead of OpenFrameworks.dylib. I can edit the field, but the changed value is simple lost. Therefore I tried to use the post build commands to rename the compiled file to OpenFrameworks.so and than adding that to a zip.
This is my compilation output
-------------- 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
Output size is 5.76 MB
And creating the bundleg++ -bundle -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
/usr/libexec/gcc/i686-apple-darwin8/4.0.1/ld: warning -L: directory name (/usr/local/include/devel) does not exist
Output size is 5.76 MB
And the post build stepsRunning target post-build steps
cp OpenFrameworks.dylib OpenFrameworks.so
zip -j9 OpenFrameworks.zip manifest.xml
updating: manifest.xml (deflated 53%)
zip -j9 OpenFrameworks.cbplugin OpenFrameworks.so OpenFrameworks.zip
updating: OpenFrameworks.zip (deflated 8%)
adding: OpenFrameworks.so
(deflated 82%)
Process terminated with status 0 (0 minutes, 13 seconds)
0 errors, 0 warnings
Than I used otool to check if there are broken dependenciesotool -L OpenFrameworks.so
OpenFrameworks.so:
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 128.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 11.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.3.11)
/System/Library/Frameworks/QuickTime.framework/Versions/A/QuickTime (compatibility version 1.0.0, current version 1327.73.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libwx_mac_richtext-2.8.0.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libwx_mac_aui-2.8.0.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libwx_mac_xrc-2.8.0.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libwx_mac_qa-2.8.0.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libwx_mac_html-2.8.0.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libwx_mac_adv-2.8.0.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libwx_mac_core-2.8.0.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libwx_base_carbon_xml-2.8.0.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libwx_base_carbon_net-2.8.0.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libwx_base_carbon-2.8.0.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libcodeblocks.0.dylib (compatibility version 1.0.0, current version 1.1.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
All seems well, so I try to install the plugin, but then I get the message that "one or more plugins could not be installed" and in the
console (I started C::B using: /usr/local/bin/codeblocks), I see this:
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
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
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
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
CGContextConcatCTM: invalid context
When I google on those errors I find some pages to wxWidgets, but I'm not sure if that's the problem or how to solve it.. Someone?