3

我正在尝试编译Chromium Embedded Framework (CEF) 的 QML API 氧化qt,但我遇到了错误:

11:13:58: Running steps for project oxideqt...
11:13:58: Configuration unchanged, skipping qmake step.
11:13:58: Starting: "C:\Qt\Qt5.1.1\Tools\QtCreator\bin\jom.exe" 
    cd qt\lib\ && ( if not exist Makefile C:\Qt\Qt5.1.1\5.1.1\msvc2010\bin\qmake.exe C:\Users\simon\Documents\oxide\qt\lib\lib.pro -spec win32-msvc2010 -o Makefile ) && C:\Qt\Qt5.1.1\Tools\QtCreator\bin\jom.exe -f Makefile
    C:\Qt\Qt5.1.1\Tools\QtCreator\bin\jom.exe -f Makefile.Release
    cd C:/Users/simon/Documents/oxide; ./build/gyp_oxide -IC:/Users/simon/Documents/oxide/qt/qt.gypi -Doxide_qt_libversion=0
Couldn't change working directory to C:/Users/simon/Documents/oxide; ./build/gyp_oxide -IC:/Users/simon/Documents/oxide/qt/qt.gypi -Doxide_qt_libversion=0.
jom: C:\Users\simon\Documents\build-oxideqt-Desktop_Qt_5_1_1_MSVC2010_32bit-Release\qt\lib\Makefile.Release [C:\Users\simon\Documents\oxide\Makefile.oxide] Error 1
jom: C:\Users\simon\Documents\build-oxideqt-Desktop_Qt_5_1_1_MSVC2010_32bit-Release\qt\lib\Makefile [release] Error 2
jom: C:\Users\simon\Documents\build-oxideqt-Desktop_Qt_5_1_1_MSVC2010_32bit-Release\Makefile [sub-qt-lib-lib-pro-make_first-ordered] Error 2
11:13:58: The process "C:\Qt\Qt5.1.1\Tools\QtCreator\bin\jom.exe" exited with code 2.
Error while building/deploying project oxideqt (kit: Desktop Qt 5.1.1 MSVC2010 32bit)
When executing step 'Make'

看起来它正在执行cdon C:/Users/simon/Documents/oxide; ./build/gyp_oxide -IC:/Users/simon/Documents/oxide/qt/qt.gypi -Doxide_qt_libversion=0,但我无法找出哪个脚本正在执行cd.

以下是相关的 .pro 文件:

氧化物qt.pro(顶级.pro)

TEMPLATE = subdirs
CONFIG += ordered

lib.file = qt/lib/lib.pro
SUBDIRS += lib

renderer.file = qt/renderer/renderer.pro
SUBDIRS += renderer

sandbox.file = qt/sandbox/sandbox.pro
SUBDIRS += sandbox

qmlplugin.file = qt/qmlplugin/qmlplugin.pro
SUBDIRS += qmlplugin

testutils.file = qt/tests/utils/testutils.pro
SUBDIRS += testutils

qmltests.file = qt/tests/qmltests/qmltests.pro
SUBDIRS += qmltests

QMAKE_CLEAN += -r \
    $${OXIDE_SRC_ROOT}/Makefile.oxide \
    `find $$OXIDE_SRC_ROOT -name \"*.target.oxide.mk\"` \
    $$CHROMIUM_OUT_DIR

lib.pro

CONFIG += gyp disable_check
TARGET = oxide-qt
GYP_TYPE = lib

include($${OXIDE_QMAKE_PATH}/oxide_variables.pri)

GYP_LIBVERSION = $$OXIDE_QT_LIBVERSION

resources.path = $$LIBEXECDIR
resources.files = \
    $${CHROMIUM_OUT_PLAT_DIR}/oxide.pak \
    $${CHROMIUM_OUT_PLAT_DIR}/oxide_100_percent.pak
resources.CONFIG = no_check_exist
INSTALLS += resources
4

3 回答 3

3

一个可能的原因和解决方案:

这看起来像是用于sh,而不是用于cmd.exe

cd C:/Users/simon/Documents/oxide; ./build/gyp_oxide -IC:/Users/simon/Documents/oxide/qt/qt.gypi -Doxide_qt_libversion=0

如果是这样,可能是由于 shell 的自动检测错误。发生这种情况的一个原因可能是sh.exePATH 中存在。因此,找出它在哪里,然后从 PATH 中删除文件夹或将文件重命名为sh_.exe或其他。

要找到它,这应该在构建环境的正确提示下找到文件(链接):cmd.exe

where sh

请注意,如果你安装了很多东西,你的 PATH 中可能有几个,所以先删除后,再次检查...如果仍然没有解决,请尝试bash从 PATH 中删除(虽然我还没有看到制造麻烦)。如果您编辑系统 PATH,请记住重新启动 IDE 或命令提示符,以使更改生效。然后记得重新运行qmake

于 2013-10-31T19:46:36.033 回答
1

似乎http://bazaar.launchpad.net/~oxide-developers/oxide/oxide.trunk/view/head:/build/gyp_oxide是一个 python 脚本,make 试图启动它。python.exe 在你的 PATH 变量中吗?

金库林

于 2013-11-05T10:20:52.460 回答
0

我只是查看了整个 pro-files 的配置,发现了很多特定于 unix 的路径,例如 /usr/local。是否完全支持窗口作为构建目标?如前所述,构建脚本不能与 cd 一起使用;命令 。也许您可以尝试使用 cygwin 运行它?

金库林

于 2013-11-06T15:28:03.453 回答