Author Topic: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30  (Read 7599 times)

Offline Searinox

  • Multiple posting newcomer
  • *
  • Posts: 10
CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« on: October 15, 2015, 07:20:45 pm »
Hello,

I have been successfully been using C::B with MinGW x32 and wxWidgets in the past. I recently installed MinGW x64 and I can get console applications to compile, but I am having issues with wxWidgets applications. The compile log says this:

||=== Build: Debug in test2gui (compiler: GNU GCC Compiler) ===|
ld.exe||cannot find -lwxmsw30u|
||=== Build failed: 1 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

There are another two threads on this topic on the forum, I have tried following advice from both but without success. Please tell me what other info I can provide. Thank you.
« Last Edit: December 13, 2015, 10:39:02 am by Searinox »

Offline ouch

  • Almost regular
  • **
  • Posts: 223
Re: CB with MinGW x64 and wxWidgets: cannot compile projects
« Reply #1 on: October 15, 2015, 09:28:22 pm »
The linker can't find the wxWidgets library is all. Be sure to add it's location to your linker search directories in the build options.

But this is not a Code Blocks issue, its a compiler and linker issue, as such you would get better help at someplace like Stackoverflow.

Offline Searinox

  • Multiple posting newcomer
  • *
  • Posts: 10
Re: CB with MinGW x64 and wxWidgets: cannot compile projects
« Reply #2 on: December 13, 2015, 10:21:48 am »
I have gone insane adding the library folders and subfolders to each search path in compiler settings and project, linker, resource compiler, everything, including the "wxWidgets\lib\gcc_dll\libwxmsw30u.a" file itself, paths both relative and absolute, and each one at a time, as well as every other place where its path could possibly be set and still the error will not go away. I know where the file is and I've set it to just about every path I could.

Are there any logs of any kind that I could look up to see what exactly the linker is trying to do?

I know for a fact that it AT LEAST stumbles upon the file, maybe it doesn't understand what it's found?!

« Last Edit: December 13, 2015, 10:28:04 am by Searinox »

Online stahta01

  • Lives here!
  • ****
  • Posts: 6666
    • My Best Post
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #3 on: December 13, 2015, 05:35:04 pm »
Did you build wxWidgets 3.0 using your MinGW x64 Compiler?

If not, then why do you think it will work without having the wxWidgets 3.0 library on your system!

If yes, how did you build it?

Tim S.


C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Stretch, compiling CB Trunk against wxWidgets 3.0.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline Searinox

  • Multiple posting newcomer
  • *
  • Posts: 10
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #4 on: December 19, 2015, 05:28:26 pm »
MinGW x64 is set up and working - I can compile x64 command line applications with it.

wxWidgets was compiled using "mingw32-make -f makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1". This was also repeated for BUILD=debug. The debug gives an error about the same library but with an added "d" at the end. Am I using the wrong maker and is there another I need to use?

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 12073
    • Travis build status
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Searinox

  • Multiple posting newcomer
  • *
  • Posts: 10
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #6 on: December 19, 2015, 09:37:07 pm »
The library exists right down to the files which can be seen in folder and which I have posted that ld.exe actually finds in its scan in the previous post's screenshot. I can't find anything I haven't done right there. So right now the only thing I can think about is having badly compiled the lib. Oh why oh why does hooking up a popular library with a standard non-exotic setup have to be such rocket science?

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 12073
    • Travis build status
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #7 on: December 19, 2015, 10:05:16 pm »
Because c++ programming is hard. If you want it to be simple try javascript or c# 8)
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Searinox

  • Multiple posting newcomer
  • *
  • Posts: 10
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #8 on: December 19, 2015, 11:24:08 pm »
How am I going to code even C# if the IDE and libraries won't play nice? There are a million different ways to have them compiled, recommended on a million different sites. There's no standardization anywhere, and you have to wait %number_of_minutes% for them to build before you can even figure out if they work. All I wanted to do was port my projects onto x64 because x32 is only legacy at this point and I wish a lot more projects and environments started employing x64 to work right out of the box. Instead... this. I cannot even compile hello world.
« Last Edit: December 19, 2015, 11:27:57 pm by Searinox »

Online stahta01

  • Lives here!
  • ****
  • Posts: 6666
    • My Best Post
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #9 on: December 20, 2015, 12:29:19 am »
If you want help, post a full rebuild log showing the problem.

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

Offline Searinox

  • Multiple posting newcomer
  • *
  • Posts: 10
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #10 on: December 29, 2015, 05:55:42 pm »
I set up MinGW64, tested it working with a console app, compiled the libraries with "mingw32-make -f makefile.gcc CFG=64 BUILD=release SHARED=0 MONOLITHIC=1 UNICODE=1" and then again with BUILD=debug, which produced the folder "E:\CodeBlocks\wxWidgets\lib\gcc_lib64". Then created a new blank wxWidgets project and hit compile.

Code: [Select]
||=== Build: Debug in qq (compiler: GNU GCC64 Compiler) ===|
D:\Personal\CodeBlocks\qq\qqApp.cpp|33|warning: 'virtual bool wxEvtHandler::TryValidator(wxEvent&)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3683|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3682|note: in expansion of macro 'wxDEPRECATED_BUT_USED_INTERNALLY_INLINE'|
D:\Personal\CodeBlocks\qq\qqApp.cpp|33|warning: 'virtual bool wxEvtHandler::TryParent(wxEvent&)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3686|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3685|note: in expansion of macro 'wxDEPRECATED_BUT_USED_INTERNALLY_INLINE'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual bool wxEvtHandler::TryValidator(wxEvent&)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3683|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3682|note: in expansion of macro 'wxDEPRECATED_BUT_USED_INTERNALLY_INLINE'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual bool wxEvtHandler::TryParent(wxEvent&)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3686|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3685|note: in expansion of macro 'wxDEPRECATED_BUT_USED_INTERNALLY_INLINE'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::SetVirtualSizeHints(int, int, int, int)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|459|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::MakeModal(bool)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|688|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|1872|note: declared here|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual bool wxEvtHandler::TryValidator(wxEvent&)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3683|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3682|note: in expansion of macro 'wxDEPRECATED_BUT_USED_INTERNALLY_INLINE'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual bool wxEvtHandler::TryParent(wxEvent&)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3686|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3685|note: in expansion of macro 'wxDEPRECATED_BUT_USED_INTERNALLY_INLINE'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::SetVirtualSizeHints(int, int, int, int)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|459|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::MakeModal(bool)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|688|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|1872|note: declared here|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual bool wxEvtHandler::TryValidator(wxEvent&)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3683|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3682|note: in expansion of macro 'wxDEPRECATED_BUT_USED_INTERNALLY_INLINE'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual bool wxEvtHandler::TryParent(wxEvent&)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3686|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3685|note: in expansion of macro 'wxDEPRECATED_BUT_USED_INTERNALLY_INLINE'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::SetVirtualSizeHints(int, int, int, int)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|459|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::MakeModal(bool)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|688|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|1872|note: declared here|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual bool wxEvtHandler::TryValidator(wxEvent&)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3683|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3682|note: in expansion of macro 'wxDEPRECATED_BUT_USED_INTERNALLY_INLINE'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual bool wxEvtHandler::TryParent(wxEvent&)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3686|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
E:\CodeBlocks\wxWidgets\include\wx\event.h|3685|note: in expansion of macro 'wxDEPRECATED_BUT_USED_INTERNALLY_INLINE'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::SetVirtualSizeHints(int, int, int, int)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|459|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::MakeModal(bool)' is deprecated [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|688|note: declared here|
E:\CodeBlocks\wxWidgets\include\wx\defs.h|615|note: in definition of macro 'wxDEPRECATED'|
D:\Personal\CodeBlocks\qq\qqMain.cpp|102|warning: 'virtual void wxWindowBase::SetInitialBestSize(const wxSize&)' is deprecated: use SetInitialSize() instead. [-Wdeprecated-declarations]|
E:\CodeBlocks\wxWidgets\include\wx\window.h|1872|note: declared here|
ld.exe||cannot find -lwxmsw30u|
ld.exe||cannot find -lwxpng|
ld.exe||cannot find -lwxjpeg|
ld.exe||cannot find -lwxtiff|
ld.exe||cannot find -lwxzlib|
ld.exe||cannot find E:\CodeBlocks\wxWidgets\lib\gcc_lib64\mswu: Permission denied|
ld.exe||cannot find E:\CodeBlocks\wxWidgets\lib\gcc_lib64\mswud: Permission denied|
||=== Build failed: 7 error(s), 22 warning(s) (0 minute(s), 10 second(s)) ===|

I found this

Code: [Select]

-------------- Build: Debug in qq (compiler: GNU GCC64 Compiler)---------------

x86_64-w64-mingw32-g++.exe -LE:\CodeBlocks\wxWidgets\lib\gcc_lib -LE:\CodeBlocks\wxWidgets\lib\gcc_lib64 -o bin\Debug\qq.exe obj\Debug\qqApp.o obj\Debug\qqMain.o  obj\Debug\resource.res -mthreads  -lwxmsw30u -lwxpng -lwxjpeg -lwxtiff -lwxzlib -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lcomctl32 -lwsock32 -lodbc32 -mwindows
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib/libwxmsw30u.a when searching for -lwxmsw30u
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib\libwxmsw30u.a when searching for -lwxmsw30u
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64/libwxmsw30u.a when searching for -lwxmsw30u
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64\libwxmsw30u.a when searching for -lwxmsw30u
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib/libwxmsw30u.a when searching for -lwxmsw30u
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64/libwxmsw30u.a when searching for -lwxmsw30u
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwxmsw30u
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib/libwxpng.a when searching for -lwxpng
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib\libwxpng.a when searching for -lwxpng
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64/libwxpng.a when searching for -lwxpng
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64\libwxpng.a when searching for -lwxpng
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib/libwxpng.a when searching for -lwxpng
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64/libwxpng.a when searching for -lwxpng
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwxpng
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib/libwxjpeg.a when searching for -lwxjpeg
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib\libwxjpeg.a when searching for -lwxjpeg
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64/libwxjpeg.a when searching for -lwxjpeg
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64\libwxjpeg.a when searching for -lwxjpeg
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib/libwxjpeg.a when searching for -lwxjpeg
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64/libwxjpeg.a when searching for -lwxjpeg
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwxjpeg
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib/libwxtiff.a when searching for -lwxtiff
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib\libwxtiff.a when searching for -lwxtiff
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64/libwxtiff.a when searching for -lwxtiff
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64\libwxtiff.a when searching for -lwxtiff
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib/libwxtiff.a when searching for -lwxtiff
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64/libwxtiff.a when searching for -lwxtiff
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwxtiff
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib/libwxzlib.a when searching for -lwxzlib
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib\libwxzlib.a when searching for -lwxzlib
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64/libwxzlib.a when searching for -lwxzlib
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64\libwxzlib.a when searching for -lwxzlib
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib/libwxzlib.a when searching for -lwxzlib
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: skipping incompatible E:\CodeBlocks\wxWidgets\lib\gcc_lib64/libwxzlib.a when searching for -lwxzlib
E:/CodeBlocks/MinGW64/bin/../lib/gcc/x86_64-w64-mingw32/5.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lwxzlib
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 1 second(s))
5 error(s), 0 warning(s) (0 minute(s), 1 second(s))

Says skipping incompatible... why in the world? I built them out my own working MinGW64.
« Last Edit: December 29, 2015, 09:00:00 pm by Searinox »

Online stahta01

  • Lives here!
  • ****
  • Posts: 6666
    • My Best Post
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #11 on: December 29, 2015, 11:44:46 pm »
Try once more to post a full build log.

By "build log" I mean the "build log" NOT the build messages.
By "full", I mean clean followed by build!

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

Online stahta01

  • Lives here!
  • ****
  • Posts: 6666
    • My Best Post
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #12 on: December 29, 2015, 11:47:52 pm »
Says skipping incompatible... why in the world? I built them out my own working MinGW64.

No, you likely did NOT.

I set the Windows PATH to point first to the Compiler I wish to build wxWidgets with.
Then, I do the wxWidgets build command.

Edit: Example I use to build. I normally use %PATH% where I have %SystemRoot%; but, I have sh.exe in my normal path which results in a weird build error. I am trying it using %SystemRoot% to see if it works. Edit2: Building wxWidgets 3.0.2 using "gcc version 5.2.0 (Rev4, Built by MSYS2 project)"; note it is the only GCC 5.2 that I know about able to build a working wxWidgets on Windows 7. Edit3: But, by now there should be several other MinGW64 installers that work; I started doing the builds a few month back using 5.1 and later 5.2.
MSys2 is NOT easy to learn how to use. If you give me details about the Compiler you are using I can try it on my 64 bit Windows 7 Laptop.
Code: [Select]
SET PATH=C:\Apps32\MSys2\mingw32\bin;%SystemRoot%
mingw32-make -f makefile.gcc CFG=32 CPPFLAGS="-DHAVE_TR1_TYPE_TRAITS" CXXFLAGS="-Wno-deprecated-declarations -Wno-unused-local-typedefs -fno-keep-inline-dllexport" MONOLITHIC=1 SHARED=1 UNICODE=1 BUILD=release

Tim S.
« Last Edit: December 30, 2015, 12:11:28 am by stahta01 »
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 32 bit.
On Debian Stretch, compiling CB Trunk against wxWidgets 3.0.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline Searinox

  • Multiple posting newcomer
  • *
  • Posts: 10
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #13 on: December 30, 2015, 01:10:07 pm »
I rebuilt the libraries with the command you provided, one for debug one for release leaving everything else untouched. But now I cannot even create a project properly as it says "a matching debug/release version cannot be found........." in the new project wizard. Compiling created the folder "gcc_dll32". That's supposed to happen yes? It's for x64 even if it says CFG=32 yes?

EDIT: Okay finally it works! I had to rename the created folder gcc_dll32 back to gcc_dll and I can compile and run.

New problem.

Debugging doesn't work... live. I can set breakpoints, but they only work if the program's not running. Nothing live or on the fly. I also can't break the program or terminate it from the IDE's usual buttons. It's basically acting like it's in Release mode except it sort of works if set up before run. And viceversa, if I have a breakpoint set up at runtime and remove it, it continues to trip it, I have to stop and start over.

Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...

This shows up when I try to pause and nothing happens.
« Last Edit: December 30, 2015, 08:44:15 pm by Searinox »

Offline raynebc

  • Almost regular
  • **
  • Posts: 212
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #14 on: December 30, 2015, 09:09:29 pm »
That doesn't sound unusual to me.  When I use the debugger, I have to set breakpoints before launching the program or when execution is paused (at a line when stepping through the code or at a breakpoint).  This is the way GDB and CodeBlocks have been working for me for at least 5 years.

Offline Searinox

  • Multiple posting newcomer
  • *
  • Posts: 10
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #15 on: December 30, 2015, 09:16:22 pm »
On x32 I can put breakpoints anywhere at any time during runtime and they instantly work... and anyways... I'd expect the break and terminate buttons to work. They always worked before. Now they do nothing.

Code: [Select]
Building to ensure sources are up-to-date
Selecting target:
Debug
Adding source dir: D:\Personal\CodeBlocks\siw-test\
Adding source dir: D:\Personal\CodeBlocks\siw-test\
Adding file: D:\Personal\CodeBlocks\siw-test\bin\Debug\siw-test.exe
Changing directory to: D:/Personal/CodeBlocks/siw-test/.
Set variable: PATH=.;E:\CodeBlocks\wxWidgets\lib\gcc_lib;E:\CodeBlocks\MinGW\bin;E:\CodeBlocks\MinGW;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\System32;C:\Windows;C:\Windows\System32\wbem;C:\Program Files (x86)\Smart Projects\IsoBuster;C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\QuickTime\QTSystem;C:\Program Files\Microsoft SQL Server\110\Tools\Binn;C:\Program Files (x86)\AMD\ATI.ACE\Core-Static;D:\Program Files (x86)\GnuPG\pub

[debug]Command-line: E:\CodeBlocks\MINGW\bin\gdb.exe -nx -fullname  -quiet  -args D:/Personal/CodeBlocks/siw-test/bin/Debug/siw-test.exe
[debug]Working dir : D:\Personal\CodeBlocks\siw-test

Starting debugger: E:\CodeBlocks\MINGW\bin\gdb.exe -nx -fullname  -quiet  -args D:/Personal/CodeBlocks/siw-test/bin/Debug/siw-test.exe
done

[debug]> set prompt >>>>>>cb_gdb:

Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints

[debug]Reading symbols from D:/Personal/CodeBlocks/siw-test/bin/Debug/siw-test.exe...
[debug]done.
[debug](gdb) >>>>>>cb_gdb:
[debug]> show version
[debug]GNU gdb (GDB) 7.9.1
[debug]Copyright (C) 2015 Free Software Foundation, Inc.
[debug]License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
[debug]This is free software: you are free to change and redistribute it.
[debug]There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
[debug]and "show warranty" for details.
[debug]This GDB was configured as "x86_64-w64-mingw32".
[debug]Type "show configuration" for configuration details.
[debug]For bug reporting instructions, please see:
[debug]<http://www.gnu.org/software/gdb/bugs/>.
[debug]Find the GDB manual and other documentation resources online at:
[debug]<http://www.gnu.org/software/gdb/documentation/>.
[debug]For help, type "help".
[debug]Type "apropos word" to search for commands related to "word".
[debug]>>>>>>cb_gdb:
[debug]> set confirm off

Debugger name and version: GNU gdb (GDB) 7.9.1

[debug]>>>>>>cb_gdb:
[debug]> set width 0
[debug]>>>>>>cb_gdb:
[debug]> set height 0
[debug]>>>>>>cb_gdb:
[debug]> set breakpoint pending on
[debug]>>>>>>cb_gdb:
[debug]> set print asm-demangle on
[debug]>>>>>>cb_gdb:
[debug]> set unwindonsignal on
[debug]>>>>>>cb_gdb:
[debug]> set print elements 0
[debug]>>>>>>cb_gdb:
[debug]> set disassembly-flavor att
[debug]>>>>>>cb_gdb:
[debug]> catch throw
[debug]Catchpoint 1 (throw)
[debug]>>>>>>cb_gdb:
[debug]> source E:\CodeBlocks\share\codeblocks/scripts/stl-views-1.0.3.gdb
[debug]>>>>>>cb_gdb:
[debug]> directory D:/Personal/CodeBlocks/siw-test/
[debug]Source directories searched: D:/Personal/CodeBlocks/siw-test;$cdir;$cwd
[debug]>>>>>>cb_gdb:
[debug]> run
[debug]Starting program: D:\Personal\CodeBlocks\siw-test\bin\Debug\siw-test.exe

Child process PID: 4496

[debug][New Thread 4496.0x2848]

Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...
Trying to pause the running process...

[debug][Inferior 1 (process 4496) exited normally]
[debug]>>>>>>cb_gdb:

[Inferior 1 (process 4496) exited normally]

[debug]> quit

Debugger finished with status 0

EDIT: Found this http://sourceforge.net/p/mingw-w64/discussion/723798/thread/25ffa34d/ apparently x32/x64 issue. If anyone understands more about this, could you help please? Might or might not be the right thing though... my gdb.exe is 64bit. Tried checking "produce debugging symbols [-g]" in the compiler settings and did a full rebuild to no avail.

This is my exact issue
Quote
Forking
If your application uses the 'fork' system call you'll have trouble stopping the debugged program or setting breakpoints on the fly. Here is a link explaining the forking modes of GDB: http://sourceware.org/gdb/onlinedocs/gdb/Forks.html
http://wiki.codeblocks.org/index.php?title=Debugging_with_Code::Blocks

What do I have to do? I don't have fork in my code at all but this is precisely what happens.

Wait it just got even better! I wanted to try and attach the debugger to a running instance so I went to the folder where the exe was compiled ran it and guess what, it instantly quits the process list after launch silently.

It seems like I spoke too soon about having "finally got it to work", this setup is sputtering and coughing blood barely holding together at all! It has in fact not even produced an executable that can run independently from the IDE despite (mis)leading me to believe so! What more do I have to do?
« Last Edit: December 30, 2015, 09:49:47 pm by Searinox »

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 12073
    • Travis build status
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #16 on: December 31, 2015, 01:15:29 am »
It seems like I spoke too soon about having "finally got it to work", this setup is sputtering and coughing blood barely holding together at all! It has in fact not even produced an executable that can run independently from the IDE despite (mis)leading me to believe so! What more do I have to do?
Two/three options
1. copy the required dll files next to the exe.
2. modify the path variable and add the path to where the dlls are stored (this is what cb does for you when it start the application)
3. write a manifest and embed it in the exe.

Most people end doing 1.

For the debugger:
Does debugging with this particular build of gdb in a console session works?
Can you press ctrl-c and stop the debuggee/inferior and set some breakpoints?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Searinox

  • Multiple posting newcomer
  • *
  • Posts: 10
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #17 on: December 31, 2015, 06:12:13 am »
I have no .dlls for that .exe. I'm using the SHARED=0 static libs which create a 10MB exe. The folder path is gcc_lib, no longer gcc_dll. A hello world console app does the same thing, immediately shuts down after opening. And yes it does have a _getch() and should stop for input before closing. Runs fine from IDE, immediately closes stand-alone.

I'm getting the exact same problem with a non-wxwidgets simple console application that uses just mingw64. The pause and stop controls don't work, live breakpoints don't work, and ctrl+c does absolutely nothing.

GDB is version 7.9.1.
« Last Edit: December 31, 2015, 06:51:07 am by Searinox »

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5234
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #18 on: December 31, 2015, 08:38:54 am »
This is a known issue.
We have discussed before.
A 32bit CB can not break(stop) a 64 bit exe.
So, you need a 64bit CB.
Or you need a small tool too break the 64bit exe, this is not implemented yet.
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 Searinox

  • Multiple posting newcomer
  • *
  • Posts: 10
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #19 on: December 31, 2015, 08:44:15 am »
Awful. Okay. Where can I find a page to compile C::B x64? Actually wait.... WHAT would I even be compiling it with? C::B x32? Better yet... are there any popular distros of precompiled x64 builds up for download anywhere?

I can't believe that after rummaging through obscure issue after obscure issue I might acutally have to forget the whole thing and go back to 32. It's funny because for instance Visual Studio 2013's environment is all 32bit apps yet the relevant exes are 64bit that it can do everything it needs to.

And this still doesn't explain why my 64bit .exes aren't running on their own. Again they were compiled with static libs and are large single exe files with no dlls, the folder is gcc_lib and in turn has no dlls in it either so yea, there should be no dependencies.
« Last Edit: December 31, 2015, 09:01:40 am by Searinox »

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 12073
    • Travis build status
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #20 on: December 31, 2015, 10:08:14 am »
This is a known issue.
We have discussed before.
A 32bit CB can not break(stop) a 64 bit exe.
So, you need a 64bit CB.
Or you need a small tool too break the 64bit exe, this is not implemented yet.
Link?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5234
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #21 on: December 31, 2015, 12:05:26 pm »
This is a known issue.
We have discussed before.
A 32bit CB can not break(stop) a 64 bit exe.
So, you need a 64bit CB.
Or you need a small tool too break the 64bit exe, this is not implemented yet.
Link?
Problem pausing debugger using TDM-GCC64, C::B v13.12
We just need a bridge small tools to run the DebugBreakProcess command. If the debugee is 64 bit, we need a 64bit tool, if the debugee is 32 bit, we need a 32 bit tool. That's what QTcreator did.
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 oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 12073
    • Travis build status
Re: CB with MinGW x64 and wxWidgets: linker can't find wxmsw30
« Reply #22 on: December 31, 2015, 01:22:43 pm »
Ok, I'll look at it. Can someone log an issue about this?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5234
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
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.