News:

Accounts with zero posts and zero activity during the last months will be deleted periodically to fight SPAM!

Main Menu

About wxmsw28u_gcc_custom.dll

Started by zac, September 20, 2007, 09:46:14 AM

Previous topic - Next topic

zac

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

raph

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

zac

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

raph

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.

zac

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

zac

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:-


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

stahta01

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


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++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

stahta01

Quote from: zac 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

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++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

zac

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

raph

We highly recommend to read this excellent article about global variables.
You will find them under Settings->Global variables...

raph

zac

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

stahta01

Quote from: zac 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

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++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

zac

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

stahta01

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++.
On Windows 10 64 bit and Windows 11 64 bit.
--
When in doubt, read the CB WiKi FAQ. [url="http://wiki.codeblocks.org"]http://wiki.codeblocks.org[/url]

zac

Thanks Tim,

However, I still got error when compiling.


:: === 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]