News:

As usual while waiting for the next release - don't forget to check the nightly builds in the forum.

Main Menu

WxWidgets Project in Code::Blocks - ld.exe cannot find -lwxmsw30d

Started by DarthVega7, February 20, 2015, 05:42:52 PM

Previous topic - Next topic

DarthVega7

Hello,

I'm getting the error:  ld.exe cannot find -lwxmsw30d when I try to build and run a wxwidgets project in code::blocks.

Please help?

Thanks,

- DV

stahta01

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]

DarthVega7


-------------- Build: Debug in wxTest (compiler: GNU GCC Compiler)---------------

mingw32-g++.exe -LC:\SourceCode\Libraries\wxWidgets3.0\lib\gcc_dll -o bin\Debug\wxTest.exe  obj\Debug\wxTestApp.o obj\Debug\wxTestMain.o obj\Debug\resource.res -mthreads  -lwxmsw30d -mwindows
c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lwxmsw30d
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
1 error(s), 0 warning(s) (0 minute(s), 0 second(s))

stahta01

Does the library exist inside your folder C:\SourceCode\Libraries\wxWidgets3.0\lib\gcc_dll ?
If not, then you need to change the project options or you need to build the missing library.

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]

DarthVega7

I'm sorry, I'm such a newb... How do I build the missing library?

stahta01

http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef#Build_wxWidgets

Does wxmsw30ud library exist?
You do know that unicode is required with wxWidgets 3.0 unless you are a expert.

IIRC, "BUILD=debug" is needed for wxWidgets debug version.

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]

DarthVega7

Whenever I try to build the library it gives me this:


C:\SourceCode\Libraries\wxWidgets3.0\build\msw>C:\MinGW\bin\mingw32-make.exe -f
makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-in
line-dllexport
gcc -c -o gcc_mswudll\wxregex_regcomp.o  -O2 -mthreads  -DHAVE_W32API_H -DNDEBUG
-I..\..\include -I..\..\lib\gcc_dll\mswu -D__WXMSW__  -D_UNICODE   -MTgcc_mswud
ll\wxregex_regcomp.o -MFgcc_mswudll\wxregex_regcomp.o.d -MD -MP ../../src/regex/
regcomp.c
gcc: error: CreateProcess: No such file or directory
makefile.gcc:5698: recipe for target 'gcc_mswudll\wxregex_regcomp.o' failed
mingw32-make: *** [gcc_mswudll\wxregex_regcomp.o] Error 1

stahta01

Quote from: DarthVega7 on February 20, 2015, 10:48:25 PM
Whenever I try to build the library it gives me this:


C:\SourceCode\Libraries\wxWidgets3.0\build\msw>C:\MinGW\bin\mingw32-make.exe -f
makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-in
line-dllexport
gcc -c -o gcc_mswudll\wxregex_regcomp.o  -O2 -mthreads  -DHAVE_W32API_H -DNDEBUG
-I..\..\include -I..\..\lib\gcc_dll\mswu -D__WXMSW__  -D_UNICODE   -MTgcc_mswud
ll\wxregex_regcomp.o -MFgcc_mswudll\wxregex_regcomp.o.d -MD -MP ../../src/regex/
regcomp.c
gcc: error: CreateProcess: No such file or directory
makefile.gcc:5698: recipe for target 'gcc_mswudll\wxregex_regcomp.o' failed
mingw32-make: *** [gcc_mswudll\wxregex_regcomp.o] Error 1


I suggest reading this site in case you can find the cause on it; also your problem would be more on target on that site.
https://forums.wxwidgets.org/index.php

I have gotten that error before; but, I am not sure why.

I did find that this fixes some weired errors.

Instead of

mingw32-make.exe -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-in
line-dllexport

I add SHELL=CMD.exe so it becomes

mingw32-make.exe -f makefile.gcc SHELL=CMD.exe BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-in
line-dllexport


Note I do NOT have to do that myself because I build wxWidgets by setting the PATH system variable to a valid value before doing the make command.

Edit: Valid value means one that only contains the MinGW GCC and the 2 to 4 required Windows folders.

Edit2: You might wish to try this and see if the error goes away.


SET PATH=C:\MinGW\bin;%PATH%
mingw32-make.exe -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1 CXXFLAGS=-fno-keep-inline-dllexport


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]