Well... I again tried to compile this "beast" ;-). Now that there are C::B project files in SVN (r59) I didn't have to adjust a lot (nice work!). Everything compiles nicely but in the end the linkage fails for a reason I don't understand. Here is the linker's output:
mingw32-g++.exe -LD:\Devel\wxWidgets\lib\gcc_dllUnicode -L..\CodeLite\lib -L..\sdk\wxscintilla\lib -L..\sdk\wxsqlite3\lib -L..\sdk\sqlite3\lib -LD:\Devel\GCC345\lib -o bin\LiteEditor.exe .obj\Release\cpp_symbol_tree.o .obj\Release\editor.o .obj\Release\editor_config.o .obj\Release\frame.o .obj\Release\resources.o .obj\Release\wxFlatNotebook.o .obj\Release\app.o .obj\Release\code_parser.res -s -Wl,--enable-auto-image-base -Wl,--export-all-symbols -Wl,--add-stdcall-alias -lcodelite_wxdll -lwxscintilla_wxdll -lwxsqlite3_wxdll -lsqlite3 -lwxmsw26u -mwindows
..\CodeLite\lib/libcodelite_wxdll.a(symbol_tree.o):symbol_tree.cpp:(.text+0x713d): undefined reference to `_imp__wxEVT_COMMAND_SYMBOL_TREE_ADD_ITEM'
..\CodeLite\lib/libcodelite_wxdll.a(symbol_tree.o):symbol_tree.cpp:(.text+0x7163): undefined reference to `_imp__wxEVT_COMMAND_SYMBOL_TREE_DELETE_ITEM'
..\CodeLite\lib/libcodelite_wxdll.a(symbol_tree.o):symbol_tree.cpp:(.text+0x718f): undefined reference to `_imp__wxEVT_COMMAND_SYMBOL_TREE_UPDATE_ITEM
'
collect2: ld returned 1 exit status
I realised that the missing export is actually declared in parse_thread.h... Any idea what I am missing here?!
With regards, Morten.
Hi Morten,
the beast is drilled.
needed changes to parse_thread.h
* changes to codelite/parse_thread.h
added header guard for definition of WXDLLIMPEXP_SYM_TREE
MACRO USAGE:
use WXMAKINGDLL_SYM for building codelite regardless if .dll or static library .a
use WXUSINGDLL_SYM when using codelite as .dll
use no macro when using codelite as static library .a
update from svn to rev 66
the CB workspace CodeLiteEditor_wxdll.workspace builds fine for me by doing "Build Workspace"
it builds Release and Debug versions of CodeLiteEditor
btw. these projects don't use wx-config, they use the CB global variables instead.
if you want to run it from the LiteEditor\bin directory, you have to copy the files
liteeditor.xml, sqlite3.dll and ctags.exe there too , it runs fine for me using wx263.dll
i would be interested if it builds and runs fine for you too