Author Topic: let CCTest project only depends on wxScintilla, but I get linker error  (Read 3613 times)

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5242
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
I try to let CCTest only depend on wxScintilla, not codeblocks.dll, but I get linker errors, see below:
Quote
-------------- 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.
Code: [Select]
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)
Code: [Select]
#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
« Last Edit: October 05, 2014, 11:05:40 am by ollydbg »
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5242
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: let CCTest project only depends on wxScintilla, but I get linker error
« Reply #1 on: October 05, 2014, 11:11:36 am »
It looks like adding the WXMAKINGDLL_SCI to the CCTest project solve this issue(wxScintilla symbol unresolved). :)
But there are still many other unsolved symbol issues to solve.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5242
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: let CCTest project only depends on wxScintilla, but I get linker error
« Reply #2 on: October 05, 2014, 05:03:55 pm »
FYI: I have successfully build CCTest.cbp which only against wxScintilla library, no C::B SDK library (codeblocks.dll under Windows) is needed.

The main change is that I drop ccdebuginfo.h/cpp from CCTest.cbp, because those two files contains too many SDK function calls which are a bit hard to solve.  ;)

About the other cpp files inside CCTest.cbp, dropping and replacing the SDK function call is quite easy.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.