Author Topic: About wxmsw28u_gcc_custom.dll  (Read 22738 times)

Offline zac

  • Multiple posting newcomer
  • *
  • Posts: 27
About wxmsw28u_gcc_custom.dll
« on: September 20, 2007, 09:46:14 am »
Dear all,

I'm trying to create a project using wxWidgets DLL and enable unicode. The issue is, if I want to have a version of wxmsw28u_gcc_xxx.dll instead of wxmsw28u_gcc_custom.dll, like Code:Blocks using wxmsw28u_gcc_cb.dll, how can I configure the project to look up the wxmsw28u_gcc_xxx.dll?

Thanks a lot.

zac

Offline raph

  • Almost regular
  • **
  • Posts: 242
Re: About wxmsw28u_gcc_custom.dll
« Reply #1 on: September 20, 2007, 10:00:39 am »
You need to overwrite the VENDOR variable when compiling wxWidgets.
see build/msw/config.gcc
Quote
# Use this to name your customized DLLs differently
VENDOR := custom

Offline zac

  • Multiple posting newcomer
  • *
  • Posts: 27
Re: About wxmsw28u_gcc_custom.dll
« Reply #2 on: September 20, 2007, 10:26:48 am »
Dear raph,

Sorry, I've not made myself clear. I've already compiled the wxmsw28u_gcc_xxx.dll with the makefile VENDOR=xxx option already. The problem is, when I create a project in Code:Blocks, how can I configure the project to use wxmsw28u_gcc_xxx.dll? (Projects created with the wizard will use wxmsw28u_gcc_custom.dll)

If I copy the wxmsw28u_gcc_xxx.dll to the exe folder and run the exe, it will complain that it cannot find the file wxmsw28u_gcc_custom.dll.

Thanks.

zac

Offline raph

  • Almost regular
  • **
  • Posts: 242
Re: About wxmsw28u_gcc_custom.dll
« Reply #3 on: September 20, 2007, 10:42:26 am »
You need to link against the libwxmsw28u.a being created when you compiled your wxmsw28u_gcc_xxx.dll.
You probably have some wxmsw28u_gcc_custom.dll wxwidgets folder around. Simply adjust the path of the global variable you specified in wxWidget wizard ("wx" by default) to point to wxmsw28u_gcc_xxx.dll wxwidgets folder.

Offline zac

  • Multiple posting newcomer
  • *
  • Posts: 27
Re: About wxmsw28u_gcc_custom.dll
« Reply #4 on: September 21, 2007, 07:14:18 am »
Dear raph,

I've used the default folder of wxWidgets to compiled the wxmsw28u_gcc_xxx.dll and should I change the global variables?

Since when I create a new project with the wizard, it is ok and have the source file created for me. However, when I compiled and run my project, it is still looking for the wxmsw28u_gcc_custom.dll.

Thanks.

zac

Offline zac

  • Multiple posting newcomer
  • *
  • Posts: 27
Re: About wxmsw28u_gcc_custom.dll
« Reply #5 on: September 21, 2007, 08:01:52 am »
Dear all,

Is there anything wrong with my compilation of wxWidgets? I use a cmd file to compile on a XP machine with SP2.  The commands are as follow:-

Code
set path=C:\MinGW\bin;C:\MinGW\mingw32\bin
C:
cd \wxWidgets-2.8.4\build\msw
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=xxx clean
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=xxx

mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1 VENDOR=xxx clean
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1 VENDOR=xxx

mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=0 RUNTIME_LIBS=static MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=xxx clean
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=0 RUNTIME_LIBS=static MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=xxx

mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=0 RUNTIME_LIBS=static MONOLITHIC=1 BUILD=debug UNICODE=1 VENDOR=xxx clean
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=0 RUNTIME_LIBS=static MONOLITHIC=1 BUILD=debug UNICODE=1 VENDOR=xxx

Thanks.

zac

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: About wxmsw28u_gcc_custom.dll
« Reply #6 on: September 21, 2007, 02:41:26 pm »
I put all my clean together at the top.

I have no idea what RUNTIME_LIBS=static means in building wxWidgets, so it might be causing an problem.

Tim S

Code
set path=C:\MinGW\bin;C:\MinGW\mingw32\bin
C:
cd \wxWidgets-2.8.4\build\msw
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=xxx clean
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1 VENDOR=xxx clean
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=0 RUNTIME_LIBS=static MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=xxx clean
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=0 RUNTIME_LIBS=static MONOLITHIC=1 BUILD=debug UNICODE=1 VENDOR=xxx clean

mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=xxx
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=1 MONOLITHIC=1 BUILD=debug UNICODE=1 VENDOR=xxx
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=0 RUNTIME_LIBS=static MONOLITHIC=1 BUILD=release UNICODE=1 VENDOR=xxx
mingw32-make -f makefile.gcc USE_GUI=1 USE_HTML=1 USE_ODBC=1 USE_XRC=1 SHARED=0 RUNTIME_LIBS=static MONOLITHIC=1 BUILD=debug UNICODE=1 VENDOR=xxx
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: About wxmsw28u_gcc_custom.dll
« Reply #7 on: September 21, 2007, 02:44:30 pm »
Dear raph,

I've used the default folder of wxWidgets to compiled the wxmsw28u_gcc_xxx.dll and should I change the global variables?

Since when I create a new project with the wizard, it is ok and have the source file created for me. However, when I compiled and run my project, it is still looking for the wxmsw28u_gcc_custom.dll.

Thanks.

zac

Yes, you have to change the wx global variable in order for your wxWidgets to be used.

Tim S
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline zac

  • Multiple posting newcomer
  • *
  • Posts: 27
Re: About wxmsw28u_gcc_custom.dll
« Reply #8 on: September 22, 2007, 07:47:13 am »
Dear Tim,

Since I'm still new in using Code:Blocks (and C++), could you tell me how and what to change?

Thanks a lot.

Regards,

zac

Offline raph

  • Almost regular
  • **
  • Posts: 242
Re: About wxmsw28u_gcc_custom.dll
« Reply #9 on: September 22, 2007, 11:04:43 am »
We highly recommend to read this excellent article about global variables.
You will find them under Settings->Global variables...

raph

Offline zac

  • Multiple posting newcomer
  • *
  • Posts: 27
Re: About wxmsw28u_gcc_custom.dll
« Reply #10 on: September 25, 2007, 02:39:31 am »
Dear Raph,

May be due to my poor English, after studying the recommended article, I still cannot figure out the way to set CB to link to wxmsw28u_gcc_xxx.dll. Could sb kindly list out the steps in setting up the environment for using wxmsw28u_gcc_xxx.dll for me to test with?

Thanks a lot.

Regards,

zac

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: About wxmsw28u_gcc_custom.dll
« Reply #11 on: September 25, 2007, 04:46:18 am »
Dear Raph,

May be due to my poor English, after studying the recommended article, I still cannot figure out the way to set CB to link to wxmsw28u_gcc_xxx.dll. Could sb kindly list out the steps in setting up the environment for using wxmsw28u_gcc_xxx.dll for me to test with?

Thanks a lot.

Regards,

zac

What is the full path to where you compiled the DLL you wish to use?

Tim S
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline zac

  • Multiple posting newcomer
  • *
  • Posts: 27
Re: About wxmsw28u_gcc_custom.dll
« Reply #12 on: September 25, 2007, 07:04:17 am »
Dear Tim,

The full path for the wxmsw28u_gcc_xxx.dll are K:\DEV\bin\wxWidgets-2.8.4\lib\msw\gcc_dll, K:\DEV\bin\wxWidgets-2.8.4\lib\msw\gcc_lib where K:\DEV\bin\wxWidgets-2.8.4 is also my default wxWidgets installed folder. And I've installed MinGW in K:\DEV\bin\MinGW-5.1.3 and Code::Blocks in K:\DEV\bin\CodeBlocks-1.0.rc.svn.4425.

Thanks a lot.

Regards,

zac

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7582
    • My Best Post
Re: About wxmsw28u_gcc_custom.dll
« Reply #13 on: September 25, 2007, 07:47:52 am »
Set current variable to "wx"
Change the path in "base" to "K:\DEV\bin\wxWidgets-2.8.4\lib\msw\gcc_dll" without the quotes.

Leave "Include", "Lib" and the others blank.

The do a full rebuild of your project/workspace.

Tim S



[attachment deleted by admin]
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline zac

  • Multiple posting newcomer
  • *
  • Posts: 27
Re: About wxmsw28u_gcc_custom.dll
« Reply #14 on: September 25, 2007, 08:15:02 am »
Thanks Tim,

However, I still got error when compiling.

Code
:: === wxUseDll, Debug ===
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllApp.h:13: wx/app.h: No such file or directory
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllApp.h:16: error: expected class-name before '{' token
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:14: wx/frame.h: No such file or directory
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:15: wx/menu.h: No such file or directory
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:16: wx/statusbr.h: No such file or directory
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:20: error: expected class-name before '{' token
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:23: error: expected `)' before '*' token
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:29: error: variable or field `OnQuit' declared void
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:29: error: expected `;' before '(' token
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:30: error: variable or field `OnAbout' declared void
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:30: error: expected `;' before '(' token
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:40: error: ISO C++ forbids declaration of `wxStatusBar' with no type
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:40: error: expected `;' before '*' token
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:44: error: ISO C++ forbids declaration of `DECLARE_EVENT_TABLE' with no type
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:44: error: expected `;' before '}' token
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:44: error: expected `;' before '}' token
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllApp.cpp:14: wx/image.h: No such file or directory
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllApp.cpp:17: error: expected constructor, destructor, or type conversion before ';' token
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllApp.cpp:: In member function `virtual bool wxUseDllApp::OnInit()':
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllApp.cpp:23: error: `wxInitAllImageHandlers' undeclared (first use this function)
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllApp.cpp:23: error: (Each undeclared identifier is reported only once for each function it appears in.)
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllApp.cpp:26: error: no matching function for call to `wxUseDllFrame::wxUseDllFrame(int)'
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:20: note: candidates are: wxUseDllFrame::wxUseDllFrame()
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllMain.h:20: note:                 wxUseDllFrame::wxUseDllFrame(const wxUseDllFrame&)
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllApp.cpp:27: error: 'class wxUseDllFrame' has no member named 'Show'
K:\DEV\prj\wx\cb\wxUseDll\wxUseDllApp.cpp:28: error: `SetTopWindow' undeclared (first use this function)
:: === Build finished: 25 errors, 0 warnings ===


I've set the Global Variables to point to K:\DEV\bin\wxWidgets-2.8.4\lib\msw\gcc_dll and all other leave blanks.

Also, if I use the wizard to create a new project, I'll get error saying that wxWidgets' files not found.

Regards,

zac


[attachment deleted by admin]