Re: [Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?
08 авг. 2014 г., в 20:06, Richard Shaw hobbes1...@gmail.com написал(а): Ok, a bit of an update... I got MSYS2 installed and after I figured out pacman I got mingw-w64 installed. It is nice having it integrated instead of two separate installations. Also, most of my dependencies were available so I didn't have to build as much. One notable exception is sox. Just for the heck of it I did the sox build with ninja which was interesting. Worked fine. Now I'm trying to build the final project and I'm guessing this is a cmake bug: cd /C/Tools/Projects/freedv/src /C/msys32/mingw32/bin/g++.exe -DHAVE_CONFIG_H -DSVN_REVISION=\1786M\ -DWXUSINGDLL -D_FILE_OFFSET_BITS=64 -D_NO_AUTOTOOLS_ -D__WXMSW__ -Wall -mthreads;-fpermissive -g -I/C/Tools/Projects/freedv -I/C/msys32/mingw32/include -I/C/msys32/usr/local/include -isystem /mingw32/lib/wx/include/msw-unicode-3.0 -isystem /mingw32/include/wx-3.0 -I/C/msys32/usr/local/include/codec2 -I/C/Tools/Projects/svn/freetel/fdmdv2/src-o CMakeFiles/freedv.dir/dlg_about.cpp.obj -c /C/Tools/Projects/svn/freetel/fdmdv2/src/dlg_about.cpp g++.exe: fatal error: no input files compilation terminated. There is a ; working it's way in between the -mthreads and -fpermissive option and I don't know where it's coming from. This is with the MSYS makefiles. I tried Ninja but for some reason cmake fails to find wxWidgets which is odd, I would think that would be independent of the generator used. This is known issue. Think this is cmake error parsing flags from wxwidgets config file. Don’t have time yet to fix it. Regards, Alexey. Thanks, Richard -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public -- Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
[Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?
I'm working on documenting how to build a project natively in windows, which first means figuring out the quirks myself and I ran into an issue with g++ not being able to find headers with unix style paths /usr/local/include. My environment: Windows 7 32bit mingw-w64 from win-builds.org MSYS from the MinGW-w64 sourceforge page The project requires wxWidgets which I have building and installing fine with no tweaks. In order to determine C/CXX flags, linker requirements, etc, wxWigets provides a script wx-config that provides them. My project is cmake based (if it matters) and I'm using the built-in FindWxWidgets/UseWxWidgets modules for library and inclide directory detection (which uses wx-config on *nix systems). The problem occurs when I try to build my project: cd /C/Tools/Projects/freedv/src /C/Tools/msys/opt/windows_32/bin/g++.exe -D HAVE_CONFIG_H -DSVN_REVISION=\1786M\ -D_FILE_OFFSET_BITS=64 -D_NO_AUTOTOOLS_ - D__WXMSW__ -Wall -mthreads -g @CMakeFiles/freedv.dir/includes_CXX.rsp -o CMake Files/freedv.dir/dlg_about.cpp.obj -c /C/Tools/Projects/svn/freetel/fdmdv2/src/d lg_about.cpp c:/Tools/Projects/svn/freetel/fdmdv2/src/dlg_about.cpp:21:22: fatal error: wx/ff ile.h: No such file or directory #include wx/ffile.h ^ compilation terminated. The contents of includes_CSS.rsp: -IC:/Tools/Projects/freedv -Ic:/Tools/msys/local/include -isystem /usr/local/lib/wx/include/msw-unicode-static-3.0 -isystem /usr/local/include/wx-3.0 -Ic:/Tools/msys/local/include/codec2 -IC:/Tools/Projects/svn/freetel/fdmdv2/src As you can see, most of the includes use the windows path, C:/Tools/... except the two wxWidgets entries use the unix style /usr/local, however, msys doesn't seem to have a problem: $ file /usr/local/include/wx-3.0/wx/ffile.h /usr/local/include/wx-3.0/wx/ffile.h: ASCII C++ program text, with CRLF line terminators If I change the /usr/local to c;/Tools/msys/local/include/wx-3.0 (and the same for the other) then compilation completes without error. Am I missing something obvious here? Isn't the whole point of msys is so that you can use unix style paths? Thanks, Richard -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?
Richard Shaw hobbes1...@gmail.com writes: I'm working on documenting how to build a project natively in windows, which first means figuring out the quirks myself and I ran into an issue with g++ not being able to find headers with unix style paths /usr/local/include. [snip] If I change the /usr/local to c;/Tools/msys/local/include/wx-3.0 (and the same for the other) then compilation completes without error. Am I missing something obvious here? Isn't the whole point of msys is so that you can use unix style paths? The compiler does not depend on MSYS, which acts as a POSIX compatibility layer. MinGW(-w64) compiler, linker, etc don't know about those fictional paths that MSYS creates. The point of MSYS is to provide an environment for running sotfware that hasn't been ported to Windows and requires a POSIX environment, such as configure scripts. -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?
On Thu, Aug 7, 2014 at 8:42 PM, Richard Shaw hobbes1...@gmail.com wrote: I'm working on documenting how to build a project natively in windows, which first means figuring out the quirks myself and I ran into an issue with g++ not being able to find headers with unix style paths /usr/local/include. My environment: Windows 7 32bit mingw-w64 from win-builds.org MSYS from the MinGW-w64 sourceforge page The project requires wxWidgets which I have building and installing fine with no tweaks. In order to determine C/CXX flags, linker requirements, etc, wxWigets provides a script wx-config that provides them. My project is cmake based (if it matters) and I'm using the built-in FindWxWidgets/UseWxWidgets modules for library and inclide directory detection (which uses wx-config on *nix systems). The problem occurs when I try to build my project: cd /C/Tools/Projects/freedv/src /C/Tools/msys/opt/windows_32/bin/g++.exe -D HAVE_CONFIG_H -DSVN_REVISION=\1786M\ -D_FILE_OFFSET_BITS=64 -D_NO_AUTOTOOLS_ - D__WXMSW__ -Wall -mthreads -g @CMakeFiles/freedv.dir/includes_CXX.rsp -o CMake Files/freedv.dir/dlg_about.cpp.obj -c /C/Tools/Projects/svn/freetel/fdmdv2/src/d lg_about.cpp c:/Tools/Projects/svn/freetel/fdmdv2/src/dlg_about.cpp:21:22: fatal error: wx/ff ile.h: No such file or directory #include wx/ffile.h ^ compilation terminated. The contents of includes_CSS.rsp: -IC:/Tools/Projects/freedv -Ic:/Tools/msys/local/include -isystem /usr/local/lib/wx/include/msw-unicode-static-3.0 -isystem /usr/local/include/wx-3.0 -Ic:/Tools/msys/local/include/codec2 -IC:/Tools/Projects/svn/freetel/fdmdv2/src As you can see, most of the includes use the windows path, C:/Tools/... except the two wxWidgets entries use the unix style /usr/local, however, msys doesn't seem to have a problem: $ file /usr/local/include/wx-3.0/wx/ffile.h /usr/local/include/wx-3.0/wx/ffile.h: ASCII C++ program text, with CRLF line terminators If I change the /usr/local to c;/Tools/msys/local/include/wx-3.0 (and the same for the other) then compilation completes without error. Am I missing something obvious here? Isn't the whole point of msys is so that you can use unix style paths? Yes, you are missing something here, whether it's obvious or not depends on how long you've spent working with MSYS* and MinGW-w64. MSYS will convert paths when it gets a chance to and thinks it should, for example when calling a native Windows program like GCC. At that time it will look through the command line and environment variables with knowledge of the mount points and convert things that appear to be path-y. However, you're using CMake here and it's emitted MSYS paths into @response files (the .rsp files) and then native GCC has been told to process those files, so MSYS doesn't get another chance to transform them. Emitting stuff to a file isn't a good place to transform paths because it's not known what tool will process those files and it'd be horribly slow and break in a million different ways if transformations were applied to all file IO. My recommendation is to dump MSYS and use MSYS2 as it's way better (if you do that you can use a huge amount of prebuilt libraries) but otherwise figure out how to stop whatever version of CMake you are using from using response files. Thanks, Richard -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 08.08.2014 0:29, Ray Donnelly wrote: On Thu, Aug 7, 2014 at 8:42 PM, Richard Shaw hobbes1...@gmail.com wrote: I'm working on documenting how to build a project natively in windows, which first means figuring out the quirks myself and I ran into an issue with g++ not being able to find headers with unix style paths /usr/local/include. My recommendation is to dump MSYS and use MSYS2 as it's way better (if you do that you can use a huge amount of prebuilt libraries) but otherwise figure out how to stop whatever version of CMake you are using from using response files. CMake is MSYS-aware. It can generate MSYS-make makefile or MINGW-make makefiles upon request (see the -G option). However, i don't know about rst files and what tools end up reading stuff from them. - -- O ascii ribbon - stop html email! - www.asciiribbon.org -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (MingW32) iQEcBAEBAgAGBQJT4+hbAAoJEOs4Jb6SI2Cwk9sH/2XFHob0w8sQWXMIhL9Buxja 66joryqpfYL5Pg1F25BMDfitwcQr1FyEhX2JdIBQERFC41M7L2tHacmblurQveWK TlWB/N/FC0pkxJJeQ8NMdwfBFzI+3TJ3y5AD2AhqMCk2xv/Y5QqEENTf9tz6NZ4F JA4w3ddVXq9jmCp/XWC+GsnQRCht2/jbyiH9IdNsd4Nd7O+lh+5699aXCX3rlWSz iUzi3MxE9C4Rmt2oNujL+DUBNUs+AkzxEepewGl8ckYwjbenhZnkfggwv538Aabl i3HFeqvh3kIn27RNO0vWAzqM9uEkAMspORFPz352OozLfObCFaeXAnvuiFsJeoY= =kaAI -END PGP SIGNATURE- -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
Re: [Mingw-w64-public] MinGW-w64 + MSYS: g++ can't include files with unix style prefix?
Richard Shaw hobbes1...@gmail.com writes: I'm using MSYS makefiles, otherwise you don't get very far... Tell CMake to use ninja (available as a MSYS2 package.) [snip] -- Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071iu=/4140/ostg.clktrk ___ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public