Bug #7087 2006-04-09 17:31

natasha

Linux build uses wrong command line for windres

I've copied the GNU CC Compiler setting to a new one called Windows Cross Compiler and adjusted the program paths to point to a MinGW32 install in /usr/local/mingw32. When I try to compile a windows program, the correct windres program is called to compile the resource file, but the options for gcc are being used instead of the options for windres.

The build log shows the following command:

mingw32-windres -I../../Library -I/usr/local/mingw32/include -c Rlogout.rc -o ./Debug/.objs/Rlogout.o

the command should be:

ming32-windres -i Rlogout.rc -J rc -o ./Debug/.objs/Rlogout.res -O coff -I/usr/local/mingw32/include

The project compiles fine on Windows. Both are using CB version 1.0 revision 2321 (the latest SVN revision).

Category
Compiler
Group
 
Status
Closed
Close date
2006-04-10 08:40
Assigned to
 
mandrav 2006-04-10 08:40

This is because building resources in anything other than windows is disabled.

Anyway, it is now enabled.

natasha 2006-04-12 02:50
I've just tested this and it doesn't seem to have fixed the problem. It looks like it needs a change in src/sdk/filefilters.cpp to recognize that it's a resource file

Index: src/sdk/filefilters.cpp
===================================================================
--- src/sdk/filefilters.cpp	(revision 2337)
+++ src/sdk/filefilters.cpp	(working copy)
@@ -115,14 +115,12 @@
 const wxString FileFilters::OBJECT_EXT                   = _T("o");

 const wxString FileFilters::XRCRESOURCE_EXT              = _T("xrc");

 const wxString FileFilters::STATICLIB_EXT                = _T("a");

+const wxString FileFilters::RESOURCE_EXT                 = _T("rc");
+const wxString FileFilters::RESOURCEBIN_EXT              = _T("res");
 #ifdef __WXMSW__

     const wxString FileFilters::DYNAMICLIB_EXT           = _T("dll");

     const wxString FileFilters::EXECUTABLE_EXT           = _T("exe");

-    const wxString FileFilters::RESOURCE_EXT             = _T("rc");

-    const wxString FileFilters::RESOURCEBIN_EXT          = _T("res");

 #else

     const wxString FileFilters::DYNAMICLIB_EXT	        = _T("so");

     const wxString FileFilters::EXECUTABLE_EXT	        = _T("");

-    const wxString FileFilters::RESOURCE_EXT             = _T("");

-    const wxString FileFilters::RESOURCEBIN_EXT          = _T("");

 #endif