Thanks for looking into this. There are some Problems here:
1.) '--rcflags' does not exist and looking through the Web, it seems to be on purpose. Need to find out how to add it on Windows with MSYS2
2.) As I am using MSYS2, CodeLite only compiles when I use the Unix based Makefile Generator - otherwise it instantly errors out with "/bin/sh: -c: line 2: syntax error: unexpected end of file" - it does not play nice with the Unix based Line Endings.
It seems that the Resource Compiler is working correctly but that disabling the 'windres.exe' is hardcoded somewhere somehow.
I removed all Compiler Settings and readded them. Here are the Results to create the wxWidgetsTest:
A.) CodeLite Makefile Generator:
(Opened an external cmd.exe so of course it cant find the WXWIN etc. Settings)
Code: Select all
C:/Dev/msys64/mingw64/bin/mingw32-make.exe -j32 SHELL=cmd.exe -e -f Makefile
"----------Building project:[ wxWidgetsTest - Release ]----------"
Please use the --prefix flag (as in wx-config --prefix=C:/wxWidgets)
or set the environment variable WXWIN (as in WXWIN=C:/wxWidgets)
to specify where is your installation of wxWidgets.
Please use the --prefix flag (as in wx-config --prefix=C:/wxWidgets)
or set the environment variable WXWIN (as in WXWIN=C:/wxWidgets)
to specify where is your installation of wxWidgets.
mingw32-make[1]: Entering directory 'C:/Dev/CodeLiteWorkspaceTest/RCTest111/wxWidgetsTest'
C:/Dev/msys64/mingw64/bin/windres.exe -i "C:/Dev/CodeLiteWorkspaceTest/RCTest111/wxWidgetsTest/wxWidgetsTest.exe.rc" -o ../build-Release/wxWidgetsTest/wxWidgetsTest.exe.rc.o
/usr/bin/sh: -c: line 2: syntax error: unexpected end of file
/usr/bin/sh: -c: line 2: syntax error: unexpected end of file
mingw32-make[1]: *** [wxWidgetsTest.mk:88: MakeIntermediateDirs] Error 2
mingw32-make[1]: *** Waiting for unfinished jobs....
mingw32-make[1]: *** [wxWidgetsTest.mk:92: ../build-Release/wxWidgetsTest/.d] Error 2
/usr/bin/sh: -c: line 1: unexpected EOF while looking for matching `''
/usr/bin/sh: -c: line 2: syntax error: unexpected end of file
mingw32-make[1]: *** [wxWidgetsTest.mk:103: ../build-Release/wxWidgetsTest/HelloWorldApp.cpp.o.d] Error 2
C:\Dev\msys64\mingw64\bin\windres.exe: ../build-Release/wxWidgetsTest/wxWidgetsTest.exe.rc.o: No such file or directory
mingw32-make[1]: *** [wxWidgetsTest.mk:109: ../build-Release/wxWidgetsTest/wxWidgetsTest.exe.rc.o] Error 1
mingw32-make: *** [Makefile:5: All] Error 2
mingw32-make[1]: Leaving directory 'C:/Dev/CodeLiteWorkspaceTest/RCTest111/wxWidgetsTest'
====0 errors, 0 warnings====
B.) Switched from CodeLite Makefile Generator -> CodeLite Makefile Generator - UNIX (without changing from mingw32-make -> make). You can see that the call of 'windres.exe' is missing - even if we still calling mingw32-make.
Code: Select all
C:/Dev/msys64/mingw64/bin/mingw32-make.exe -j32 SHELL=cmd.exe -e -f Makefile
"----------Building project:[ wxWidgetsTest - Release ]----------"
Please use the --prefix flag (as in wx-config --prefix=C:/wxWidgets)
or set the environment variable WXWIN (as in WXWIN=C:/wxWidgets)
to specify where is your installation of wxWidgets.
Please use the --prefix flag (as in wx-config --prefix=C:/wxWidgets)
or set the environment variable WXWIN (as in WXWIN=C:/wxWidgets)
to specify where is your installation of wxWidgets.
mingw32-make[1]: Entering directory 'C:/Dev/CodeLiteWorkspaceTest/RCTest111/wxWidgetsTest'
/usr/bin/sh: -c: line 1: unexpected EOF while looking for matching `''
/usr/bin/sh: -c: line 2: syntax error: unexpected end of file
mingw32-make[1]: *** [wxWidgetsTest.mk:101: ../build-Release/wxWidgetsTest/HelloWorldApp.cpp.o.d] Error 2
mingw32-make[1]: *** Waiting for unfinished jobs....
mingw32-make: *** [Makefile:5: All] Error 2
mingw32-make[1]: Leaving directory 'C:/Dev/CodeLiteWorkspaceTest/RCTest111/wxWidgetsTest'
====0 errors, 0 warnings====
C.) After changing the Path to MSYS2 'make.exe' and also re-adding the correct Path to 'mkdir' it compiles as it should except that neither wx.rc nor my RC File gets linked into the executable - obviously as UNIX is defined.
Code: Select all
C:/Dev/msys64/usr/bin/make.exe -j32 -e -f Makefile
----------Building project:[ wxWidgetsTest - Release ]----------
make[1]: Entering directory '/c/Dev/CodeLiteWorkspaceTest/RCTest111/wxWidgetsTest'
C:/Dev/msys64/mingw64/bin/g++.exe -c "C:/Dev/CodeLiteWorkspaceTest/RCTest111/wxWidgetsTest/HelloWorldApp.cpp" -static -static-libgcc -static-libstdc++ -Wfatal-errors -std=c++11 -Wall -IC:/Dev/Sources/wxWidgetsx64Release/lib/wx/include/msw-unicode-static-3.1 -IC:/Dev/Sources/wxWidgetsx64Release/include/wx-3.1 -D__WXMSW__ -pthread -D__WXMSW__ -DNDEBUG -D_UNICODE -DUNICODE -D_FORTIFY_SOURCE=2 -D_GLIBCXX_ASSERTIONS -o ../build-Release/wxWidgetsTest/HelloWorldApp.cpp.o -I. -IC:/Dev/Sources/wxWidgetsx64Release/include/wx-3.1 -IC:/Dev/Sources/wxWidgetsx64Release/lib/wx/include/msw-unicode-static-3.1 -IC:/Dev/msys64/mingw64/x86_64-w64-mingw32/include -IC:/Dev/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.2.0/include -IC:/Dev/msys64/mingw64/include/c++/10.2.0/x86_64-w64-mingw32 -IC:/Dev/msys64/mingw64/include/c++/10.2.0
C:/Dev/msys64/mingw64/bin/g++.exe -o ..\build-Release\bin\wxWidgetsTest @../build-Release/wxWidgetsTest/ObjectsList.txt -L. -mwindows -static -LC:/Dev/Sources/wxWidgetsx64Release/lib -pthread C:/Dev/Sources/wxWidgetsx64Release/lib/libwx_mswu_xrc-3.1.a C:/Dev/Sources/wxWidgetsx64Release/lib/libwx_mswu_qa-3.1.a C:/Dev/Sources/wxWidgetsx64Release/lib/libwx_baseu_net-3.1.a C:/Dev/Sources/wxWidgetsx64Release/lib/libwx_mswu_html-3.1.a C:/Dev/Sources/wxWidgetsx64Release/lib/libwx_mswu_core-3.1.a C:/Dev/Sources/wxWidgetsx64Release/lib/libwx_baseu_xml-3.1.a C:/Dev/Sources/wxWidgetsx64Release/lib/libwx_baseu-3.1.a -lwx_mswu_core-3.1 -lwxjpeg -lwxpng -lwxtiff -lwx_baseu-3.1 -lwxexpat -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lversion -lws2_32 -lwininet -loleacc -luxtheme -lwxzlib -lwxregexu -lssp
make[1]: Leaving directory '/c/Dev/CodeLiteWorkspaceTest/RCTest111/wxWidgetsTest'
====0 errors, 0 warnings====
The Question now is: Is there a way to overwrite a Macro, Flag or whatever it is, to force the call of windres.exe or am I out of luck here.
Well Sorry for wasting your time. I had a lot of IDE's and being using MinGW-w64 and MSYS2 MinGW-w64 for multiple years (with breaks inbetween) and never had that Issue. So I assumed it is another Bug in CodeLite.
Thanks again!
Oliver