I try to let CCTest only depend on wxScintilla, not codeblocks.dll, but I get linker errors, see below:
-------------- Clean: cctest in CC Test (compiler: GNU GCC Compiler)---------------
Cleaned "CC Test - cctest"
-------------- Build: cctest in CC Test (compiler: GNU GCC Compiler)---------------
-------------- Clean: cctest in CC Test (compiler: GNU GCC Compiler)---------------
Cleaned "CC Test - cctest"
-------------- Build: cctest in CC Test (compiler: GNU GCC Compiler)---------------
[ 6.7%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c cctest\cctest_app.cpp -o ..\..\.objs\plugins\codecompletion\cctest\cctest\cctest_app.o
[ 13.3%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c cctest\cctest_frame.cpp -o ..\..\.objs\plugins\codecompletion\cctest\cctest\cctest_frame.o
[ 20.0%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c cctest\nativeparser_test.cpp -o ..\..\.objs\plugins\codecompletion\cctest\cctest\nativeparser_test.o
[ 26.7%] windres.exe -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -J rc -O coff -i cctest\resource.rc -o ..\..\.objs\plugins\codecompletion\cctest\cctest\resource.res
[ 33.3%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c nativeparser_base.cpp -o ..\..\.objs\plugins\codecompletion\cctest\nativeparser_base.o
[ 40.0%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c parser\ccdebuginfo.cpp -o ..\..\.objs\plugins\codecompletion\cctest\parser\ccdebuginfo.o
[ 46.7%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c parser\cclogger.cpp -o ..\..\.objs\plugins\codecompletion\cctest\parser\cclogger.o
[ 53.3%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c parser\expression.cpp -o ..\..\.objs\plugins\codecompletion\cctest\parser\expression.o
[ 60.0%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c parser\parser_base.cpp -o ..\..\.objs\plugins\codecompletion\cctest\parser\parser_base.o
[ 66.7%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c parser\parserthread.cpp -o ..\..\.objs\plugins\codecompletion\cctest\parser\parserthread.o
[ 73.3%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c parser\searchtree.cpp -o ..\..\.objs\plugins\codecompletion\cctest\parser\searchtree.o
[ 80.0%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c parser\token.cpp -o ..\..\.objs\plugins\codecompletion\cctest\parser\token.o
[ 86.7%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c parser\tokenizer.cpp -o ..\..\.objs\plugins\codecompletion\cctest\parser\tokenizer.o
[ 93.3%] g++.exe -Wall -g -pipe -fmessage-length=0 -fexceptions -mthreads -DHAVE_W32API_H -D__WXMSW__ -DWXUSINGDLL -DcbDEBUG -DwxUSE_UNICODE -D__WXDEBUG__ -DCC_PARSER_TEST -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\include -IE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll\mswud -I..\..\include -I..\..\sdk\wxscintilla\include -Icctest -Iparser -I. -c parser\tokentree.cpp -o ..\..\.objs\plugins\codecompletion\cctest\parser\tokentree.o
[100.0%] g++.exe -LE:\code\wx-mingw-build-481-dw2\wxWidgets-2.8.12\lib\gcc_dll -L..\..\devel -o ..\..\devel\cctest.exe ..\..\.objs\plugins\codecompletion\cctest\cctest\cctest_app.o ..\..\.objs\plugins\codecompletion\cctest\cctest\cctest_frame.o ..\..\.objs\plugins\codecompletion\cctest\cctest\nativeparser_test.o ..\..\.objs\plugins\codecompletion\cctest\nativeparser_base.o ..\..\.objs\plugins\codecompletion\cctest\parser\ccdebuginfo.o ..\..\.objs\plugins\codecompletion\cctest\parser\cclogger.o ..\..\.objs\plugins\codecompletion\cctest\parser\expression.o ..\..\.objs\plugins\codecompletion\cctest\parser\parser_base.o ..\..\.objs\plugins\codecompletion\cctest\parser\parserthread.o ..\..\.objs\plugins\codecompletion\cctest\parser\searchtree.o ..\..\.objs\plugins\codecompletion\cctest\parser\token.o ..\..\.objs\plugins\codecompletion\cctest\parser\tokenizer.o ..\..\.objs\plugins\codecompletion\cctest\parser\tokentree.o ..\..\.objs\plugins\codecompletion\cctest\cctest\resource.res -Wl,--enable-auto-import -Wl,--no-undefined -mthreads -lwxscintilla_cb -lwxmsw28ud -mwindows
..\..\.objs\plugins\codecompletion\cctest\cctest\cctest_frame.o: In function `ZN11CCTestFrameC2ERK8wxString':
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:139: undefined reference to `_imp__wxSCINameStr'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:139: undefined reference to `_imp___ZN11wxScintillaC1EP8wxWindowiRK7wxPointRK6wxSizelRK8wxString'
..\..\.objs\plugins\codecompletion\cctest\cctest\cctest_frame.o: In function `ZN11CCTestFrame5StartEv':
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:313: undefined reference to `_imp___ZN11wxScintilla8LoadFileERK8wxString'
..\..\.objs\plugins\codecompletion\cctest\cctest\cctest_frame.o: In function `ZN11CCTestFrame11InitControlEv':
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:372: undefined reference to `_imp___ZN11wxScintilla13StyleClearAllEv'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:374: undefined reference to `_imp___ZN11wxScintilla8SetLexerEi'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:376: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:377: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:379: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:380: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:382: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:383: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:385: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:386: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:388: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:389: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:391: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:392: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:394: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:395: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:397: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:398: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:400: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:401: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:403: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:404: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:406: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:407: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:409: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:410: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:412: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:413: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:415: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:416: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:418: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:419: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:421: undefined reference to `_imp___ZN11wxScintilla18StyleSetForegroundEiRK8wxColour'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:422: undefined reference to `_imp___ZN11wxScintilla16StyleSetFontAttrEiiRK8wxStringbbb14wxFontEncoding'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:438: undefined reference to `_imp___ZN11wxScintilla11SetKeyWordsEiRK8wxString'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:444: undefined reference to `_imp___ZN11wxScintilla11SetKeyWordsEiRK8wxString'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:446: undefined reference to `_imp___ZN11wxScintilla11SetPropertyERK8wxStringS2_'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:447: undefined reference to `_imp___ZN11wxScintilla11SetPropertyERK8wxStringS2_'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:448: undefined reference to `_imp___ZN11wxScintilla11SetPropertyERK8wxStringS2_'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:449: undefined reference to `_imp___ZN11wxScintilla11SetPropertyERK8wxStringS2_'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:450: undefined reference to `_imp___ZN11wxScintilla11SetPropertyERK8wxStringS2_'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:452: undefined reference to `_imp___ZN11wxScintilla12SetFoldFlagsEi'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:453: undefined reference to `_imp___ZN11wxScintilla13SetMarginTypeEii'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:454: undefined reference to `_imp___ZN11wxScintilla14SetMarginWidthEii'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:457: undefined reference to `_imp___ZNK11wxScintilla13GetMarginMaskEi'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:460: undefined reference to `_imp___ZN11wxScintilla13SetMarginMaskEii'
F:\cb_sf_git\trunk\src\plugins\codecompletion/cctest/cctest_frame.cpp:461: undefined reference to `_imp___ZN11wxScintilla18SetMarginSensitiveEib'
Process terminated with status 1 (0 minute(s), 31 second(s))
50 error(s), 0 warning(s) (0 minute(s), 31 second(s))
I have already add the "wxscintilla_cb" to the linker options, but no idea why it still can't find those symbols. (I have build all the C::B targets link against debug version of wx library)
Any help?
The below patch maybe used since only ParserBase class is used for CCTest project.
src/plugins/codecompletion/cctest/nativeparser_test.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/plugins/codecompletion/cctest/nativeparser_test.h b/src/plugins/codecompletion/cctest/nativeparser_test.h
index 40d6a1b..676ffa2 100644
--- a/src/plugins/codecompletion/cctest/nativeparser_test.h
+++ b/src/plugins/codecompletion/cctest/nativeparser_test.h
@@ -2,7 +2,7 @@
#ifndef NATIVEPARSERTEST_H
#define NATIVEPARSERTEST_H
-#include "parser.h"
+#include "parser_base.h"
#include "nativeparser_base.h"
class NativeParserTest : public NativeParserBase
EDIT:Maybe those preprocessor directive matters, but I don't know: (in sdk\wxscintilla\include\wx\wxscintilla.h)
#ifdef WXMAKINGDLL_SCI
#define WXDLLIMPEXP_SCI WXEXPORT
#elif defined(WXUSINGDLL_SCI) || defined(WXUSINGDLL)
#define WXDLLIMPEXP_SCI WXIMPORT
#else // not making nor using DLL
#define WXDLLIMPEXP_SCI
#endif