Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.1.1, 5.2.0, 5.4.1, 5.9.6, 5.11.1
-
Win7 x65, Visual, NDK r9, Qt 5.2.0 for Android.
-
-
57eed823e412d587e051bff0d4775f08024d4169
Description
I build a library. The generated Makefile contains:
DESTDIR = ..\..\lib\arm7\#avoid trailing-slash linebreak TARGET = libcryptoppd.a ... ..\..\lib\arm7\$(TARGET): $(OBJECTS) $(OBJCOMP) @if not exist ..\..\lib\arm7\ mkdir ..\..\lib\arm7\ & if not exist ..\..\lib\arm7\ exit 1 -$(DEL_FILE) $(TARGET) $(AR) $(TARGET) $(OBJECTS) $(RANLIB) $(TARGET) -$(DEL_FILE) ..\..\lib\arm7\$(TARGET) -$(MOVE) $(TARGET) ..\..\lib\arm7\
Everything works fine, until the MOVE that fails (file not found), or in more detail:
process_begin: CreateProcess(NULL, move libcryptoppd.a "..\..\lib\arm7 ", ...) failed.
make (e=2): The system cannot find the file specified.
Note:
- If you type the move command in a console, it works.
- It is broken either with QtCreator, or with command-line make.exe invocation
Writting the Makefile that way works:
DESTDIR = ..\..\lib\arm7 ... $(DESTDIR)\$(TARGET): $(OBJECTS) $(OBJCOMP) @if not exist "$(DESTDIR)" mkdir "$(DESTDIR)" & if not exist "$(DESTDIR)" exit 1 -$(DEL_FILE) "$(TARGET)" $(AR) "$(TARGET)" $(OBJECTS) $(RANLIB) "$(TARGET)" -$(DEL_FILE) "$(DESTDIR)\$(TARGET)" -$(MOVE) "$(TARGET)" "$(DESTDIR)"
Note:
- The # trick on the DESTDIR definition DOES NOT WORK, as any substitution will indeed include the comment in it !
- The "$(DESTDIR)" and "$(TARGET)" both need to be quoted, or they will broke if there is space in TARGET or the the destination path...
Hope this helps make Qt5.2 the great dev toll it desserve.
Attachments
Issue Links
- is duplicated by
-
QTBUG-69344 Fails on the move operation to build library projects for Android on Windows
- Closed
-
QTBUG-72037 [Android] qtcreator failed to copy the target .so file to the destination directory
- Closed
- relates to
-
QTBUG-69255 Qmake generates an invalid Makefile
- Closed