Developer forums (C::B DEVELOPMENT STRICTLY!) > CodeCompletion redesign
Suggestion: Using ctags & sqlite for code completion
MortenMacFly:
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:
--- Code: ---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
--- End code ---
I realised that the missing export is actually declared in parse_thread.h... Any idea what I am missing here?!
With regards, Morten.
eranif:
I think tiwag solved that issue - this error is only realted to dll build
Try to build the static build (since I am not using C::B I dont know if there is project for the static build) using the provided makefile.
Eran
takeshimiya:
--- Quote from: eranif on September 06, 2006, 12:05:56 pm ---since I am not using C::B I dont know if there is project for the static build
--- End quote ---
Yes, there is: the project is exactly the same, regardless if it uses wxWidgets in static, shared, monolithic, unicode or whatever configuration. :)
For using the static build, you just need to set the env. var. accordingly, ie. WXCFG=gcc_lib\mswu.
UPDATE: tiwag just added explicit C::B projects for wxWidgets SHARED=1.
tiwag:
--- Quote from: MortenMacFly on September 06, 2006, 10:38:40 am ---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:
--- Code: ---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
--- End code ---
I realised that the missing export is actually declared in parse_thread.h... Any idea what I am missing here?!
With regards, Morten.
--- End quote ---
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
MortenMacFly:
--- Quote from: tiwag on September 06, 2006, 01:23:27 pm ---i would be interested if it builds and runs fine for you too
--- End quote ---
Yes, it does now. Thanks!!!
BTW: I've modified the C::B project files to use wxUnicode - thus, basically change the compiler include, add the _UNICODE and wxUSE_UNICODE defines to the compiler switches and link against wxmsw26*u*. This works very well, too.
Now that I have "my" executable I can start testing... ;-)
With regards, Morten.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version