目前我正在尝试在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包含此路径。手动添加引号可以让我编译(尽管由于不同的错误而停止)。
答案 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工具并设置一个没有空格的交汇点,指向该位置并更新您的构建脚本以指向交汇点。