Mingw32和空格(在Windows上构建Qt 5.1 for android)

时间:2013-05-08 08:20:21

标签: qt qt5 mingw32

目前我正在尝试在Windows 7下使用Android支持构建Qt 5.1的alpha版本。

我按照此tutorial中的步骤操作。现在我正在尝试实际构建Qt,但我面临的问题是mingw32-make的路径包含空格有问题。

我只是输入mingw32-make它开始编译。在中间某处有输出

     mingw32-make[4]: Entering directory 'c:/work/build/qt5/qtbase/src/tools/moc' g++ -Wl,-s -Wl,-subsystem,console -o ..\..\..\bin\moc.exe .obj/release_shared/moc.o .obj/release_shared/preprocessor.o .obj/release_shared/generator.o .obj/release_shared/parser.o .obj/release_shared/token.o .obj/release_shared/main.o 
-L"C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib" -LC:/work/build/qt5/qtbase/lib -lQt5Bootstrap 
-LC:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib -luser32 -lole32 -ladvapi32
    g++: error: Files\Microsoft: No such file or directory
    g++: error: Visual: No such file or directory
    g++: error: Studio: No such file or directory
    g++: error: .NET: No such file or directory
    g++: error: 2003\SDK\v1.1\Lib: No such file or directory

问题是最后一个-L参数和包含的空格(以及缺少的引号)。

为了编译Qt 5.1,如何让mingw32将最后一个-L参数放在引号下?

找到解决方案:缺少的引号位于src / tools / moc / make.debug& make.release。此外,qt5 / config.summary包含此路径。手动添加引号可以让我编译(尽管由于不同的错误而停止)。

1 个答案:

答案 0 :(得分:0)

Mingw给你一个非常明确的警告,不要在其中包含带空格的路径:

http://www.mingw.org/wiki/HOWTO_Specify_the_Location_of_External_Libraries_for_use_with_MinGW

(在该页面上搜索“任何带有空格的目录”)

但我相信它使用UNIX约定。改变你的路径:

"C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Lib"

为:

"C:/Program\ Files/Microsoft\ Visual\ Studio\ .NET\ 2003/SDK/v1.1/Lib"

它可能对你有用。

如果没有下载微软junction工具并设置一个没有空格的交汇点,指向该位置并更新您的构建脚本以指向交汇点。