tonkv / qdevelop

Automatically exported from code.google.com/p/qdevelop
0 stars 0 forks source link

Backslash should be replaced by slash under Windows #130

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Try to build a project under Windows.

What is the expected output? What do you see instead?
The 0.22-1 Windows build fails to replace backslashes with slashes when
passing to external tools, thus raising errors like: "g++.EXE:
srcsomefile.cpp: No such file or directory" because the path was
"src\somefile.cpp".

What version of the product are you using? On what operating system?
QDevelop 0.2.2
Qt 4.2.2
g++.exe (GCC) 3.4.2 (mingw)
Windows XP SP2

Please provide any additional information below.

Original issue reported on code.google.com by smart...@gmail.com on 24 Apr 2007 at 10:43

GoogleCodeExporter commented 8 years ago
This happens with QDvelop 0.23 too! (Windows)

I have into the generated project file QDTest.pro a path like this:
SOURCES = src/dialogimpl.cpp \
    src/main.cpp
And the file src\dialogimpl.cpp exists, but QDevelop can't build it:

g++.EXE: srcdialogimpl.cpp: no such file or directory
(notice the lack of either / or \ after "src")

Is it a gcc bug or a QDevelop bug??

g++.exe is 3.4.2 from MinGW and works well to build Qt4 prjs with Dev-C++ and 
Code:Blocks.

Original comment by smart...@gmail.com on 18 Jun 2007 at 3:08

GoogleCodeExporter commented 8 years ago
are you building under msys....?

Original comment by cucoma...@gmail.com on 20 Jul 2007 at 3:02

GoogleCodeExporter commented 8 years ago
... or do you have msys on your path...? This issue happens because make 
decides to
run sh instead of cmd, which gets borked as you see.

Original comment by cucoma...@gmail.com on 23 Jul 2007 at 11:51

GoogleCodeExporter commented 8 years ago
ping...?

Does this problem still affect you? I would like to close it, since I cannot
reproduce it on my system.

Thanks!

Original comment by cucoma...@gmail.com on 22 Sep 2007 at 8:57

GoogleCodeExporter commented 8 years ago
Problem persists with version 0.25. The title actualy should be "Slash should be
replaced by backslash on Windows".

Please raise the priority of this bug as it is a serious showstopper!
Not even hello world compiles on Windows without fixing the Makefiles.

Original comment by webmas...@hartwork.org on 28 Dec 2007 at 2:42

GoogleCodeExporter commented 8 years ago
QDevelop in windows create the makefile with the qmake win32 spec. If you 
manually
create the Makefile with "qmake -unix" then the makefile will work with the 
MinGW
compiler (handling correctly the backslash problem).

The problem is that with QDevelop as 0.25 you can't tell which qmake spec to 
use.

I've solved the problem overriding the qmake command in QDevelop. I've created a
qmake.bat batch file in QDevelop bin folder with the follow content:

@echo off
qmake -unix %*

and i've configured the QDevelop in "External tools..." to use the created 
batch file
instead of the orginal qmake.exe.

Original comment by markgabb...@gmail.com on 15 Feb 2008 at 1:56

GoogleCodeExporter commented 8 years ago
Can you still reproduce this bug with latest versions of QDevelop and Qt?

Original comment by Lord.Div...@gmail.com on 11 Feb 2009 at 10:06

GoogleCodeExporter commented 8 years ago
Ping! I'll close this bug if there isn't any response from reporters.

Original comment by Lord.Div...@gmail.com on 14 Feb 2009 at 7:04

GoogleCodeExporter commented 8 years ago
Hi, I'm just posting to document and reinforce the idea that this issue is more 
related to Qt than QDevelop.

The hack I've had to use for a few years now has been to edit the file 
"Qt/%version%/mkspecs/default/qmake.conf" or 
"Qt/%version%/mkspecs/win32-g++/qmake.conf" and comment out the part of the 
code that I don't want it to use:

{{{

#!isEmpty(QMAKE_SH) {
    MINGW_IN_SHELL      = 1
    QMAKE_DIR_SEP       = /
    QMAKE_COPY      = cp
    QMAKE_COPY_DIR      = xcopy /s /q /y /i
    QMAKE_MOVE      = mv
    QMAKE_DEL_FILE      = rm
    QMAKE_MKDIR     = mkdir
    QMAKE_DEL_DIR       = rmdir
    QMAKE_CHK_DIR_EXISTS = test -d
#} else {
#   QMAKE_COPY      = copy /y
#   QMAKE_COPY_DIR      = xcopy /s /q /y /i
#   QMAKE_MOVE      = move
#   QMAKE_DEL_FILE      = del
#   QMAKE_MKDIR     = mkdir
#   QMAKE_DEL_DIR       = rmdir
#    QMAKE_CHK_DIR_EXISTS   = if not exist
#}

}}}

I know, it's also just another "stupid" hack, but setting the variable 
"QMAKE_SH=sh" or "QMAKE_SH=1" has never worked for me.

Original comment by wyldc...@gmail.com on 14 Apr 2011 at 1:40