stdware / qwindowkit

Cross-platform frameless window framework for Qt. Support Windows, macOS, Linux.
Apache License 2.0
538 stars 85 forks source link

MinGW编译失败 #89

Closed L-Super closed 4 months ago

L-Super commented 4 months ago

env:

日志输出 qmsetup_build-Release.log:

[1/20] Building RC object src/syscmdline/CMakeFiles/syscmdline.dir/syscmdline_res.rc.obj
[2/20] Building CXX object src/corecmd/CMakeFiles/qmcorecmd.dir/sha-256.cpp.obj
[3/20] Building CXX object src/syscmdline/CMakeFiles/syscmdline.dir/src/symbol.cpp.obj
[4/20] Building CXX object src/syscmdline/CMakeFiles/syscmdline.dir/src/value.cpp.obj
[5/20] Building RC object src/corecmd/CMakeFiles/qmcorecmd.dir/qmcorecmd_res.rc.obj
FAILED: src/corecmd/CMakeFiles/qmcorecmd.dir/qmcorecmd_res.rc.obj 
"D:\Program Files\JetBrains\CLion 2023.3.4\bin\mingw\bin\windres.exe" -O coff -DSYSCMDLINE_STATIC -DTOOL_DESC="\"QMSetup Core Utility Command, Version 0.0.2.1\"" -DTOOL_VERSION=\"0.0.2.1\" -D_CRT_SECURE_NO_WARNINGS -I D:/GitRepo/qwindowkit/qmsetup/src/syscmdline/include  D:/GitRepo/qwindowkit/cmake-build-debug/_build/qmsetup/src/corecmd/qmcorecmd_res.rc src/corecmd/CMakeFiles/qmcorecmd.dir/qmcorecmd_res.rc.obj
'D:\Program' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
D:\Program Files\JetBrains\CLion 2023.3.4\bin\mingw\bin\windres.exe: preprocessing failed.

[6/20] Building CXX object src/syscmdline/CMakeFiles/syscmdline.dir/src/sharedbase.cpp.obj
[7/20] Building RC object src/corecmd/CMakeFiles/qmcorecmd.dir/qmcorecmd_manifest.manifest.rc.obj
FAILED: src/corecmd/CMakeFiles/qmcorecmd.dir/qmcorecmd_manifest.manifest.rc.obj 
"D:\Program Files\JetBrains\CLion 2023.3.4\bin\mingw\bin\windres.exe" -O coff -DSYSCMDLINE_STATIC -DTOOL_DESC="\"QMSetup Core Utility Command, Version 0.0.2.1\"" -DTOOL_VERSION=\"0.0.2.1\" -D_CRT_SECURE_NO_WARNINGS -I D:/GitRepo/qwindowkit/qmsetup/src/syscmdline/include  D:/GitRepo/qwindowkit/cmake-build-debug/_build/qmsetup/src/corecmd/qmcorecmd_manifest.manifest.rc src/corecmd/CMakeFiles/qmcorecmd.dir/qmcorecmd_manifest.manifest.rc.obj
'D:\Program' 不是内部或外部命令,也不是可运行的程序

或批处理文件。

D:\Program Files\JetBrains\CLion 2023.3.4\bin\mingw\bin\windres.exe: preprocessing failed.

[8/20] Building CXX object src/syscmdline/CMakeFiles/syscmdline.dir/src/utils.cpp.obj
[9/20] Building CXX object src/syscmdline/CMakeFiles/syscmdline.dir/src/helplayout.cpp.obj
[10/20] Building CXX object src/syscmdline/CMakeFiles/syscmdline.dir/src/option.cpp.obj
[11/20] Building CXX object src/corecmd/CMakeFiles/qmcorecmd.dir/utils.cpp.obj
[12/20] Building CXX object src/syscmdline/CMakeFiles/syscmdline.dir/src/argument.cpp.obj
[13/20] Building CXX object src/syscmdline/CMakeFiles/syscmdline.dir/src/system.cpp.obj
[14/20] Building CXX object src/syscmdline/CMakeFiles/syscmdline.dir/src/command.cpp.obj
[15/20] Building CXX object src/syscmdline/CMakeFiles/syscmdline.dir/src/parseresult.cpp.obj
[16/20] Building CXX object src/syscmdline/CMakeFiles/syscmdline.dir/src/parser.cpp.obj
[17/20] Building CXX object src/corecmd/CMakeFiles/qmcorecmd.dir/utils_win.cpp.obj
[18/20] Building CXX object src/corecmd/CMakeFiles/qmcorecmd.dir/main.cpp.obj
ninja: build stopped: subcommand failed.
SineStriker commented 4 months ago

我建议你用Clion自带的MinGW单独编译一下qmsetup,如果还是出这个错那就是Clion的问题了。

L-Super commented 4 months ago

我建议你用Clion自带的MinGW单独编译一下qmsetup,如果还是出这个错那就是Clion的问题了。

就是CLion自带的MinGW,看样子是rc文件阶段,路径处理出问题了

SineStriker commented 4 months ago

我建议你用Clion自带的MinGW单独编译一下qmsetup,如果还是出这个错那就是Clion的问题了。

就是CLion自带的MinGW,看样子是rc文件阶段,路径处理出问题了

我说你用 CLion直接打开 qmsetup这个目录,然后看看能不能过编译

wangwenx190 commented 4 months ago

mingw这个问题我这边暂时没法复现。我也用的clion 2024.1

SineStriker commented 4 months ago

请尽快回复,过几天我就会关了。

L-Super commented 3 months ago

使用CMake FetchContent集成

include(FetchContent)
FetchContent_Declare(qwindowkit
        GIT_REPOSITORY https://github.com/stdware/qwindowkit.git
        GIT_TAG e5c3837218c3dc2b7b327f11de5894b9350adbc9
        )
FetchContent_MakeAvailable(qwindowkit)

MinGW version:

-- The C compiler identification is GNU 13.1.0
-- The CXX compiler identification is GNU 13.1.0

并未单独尝试编译qmsetup

MoonBite666 commented 2 months ago
"D:\Program Files\JetBrains\CLion 2023.3.4\bin\mingw\bin\windres.exe" -O coff -DSYSCMDLINE_STATIC -DTOOL_DESC="\"QMSetup Core Utility Command, Version 0.0.2.1\"" -DTOOL_VERSION=\"0.0.2.1\" -D_CRT_SECURE_NO_WARNINGS -I D:/GitRepo/qwindowkit/qmsetup/src/syscmdline/include  D:/GitRepo/qwindowkit/cmake-build-debug/_build/qmsetup/src/corecmd/qmcorecmd_res.rc src/corecmd/CMakeFiles/qmcorecmd.dir/qmcorecmd_res.rc.obj
'D:\Program' 不是内部或外部命令,也不是可运行的程序

是因为你把CLion安装在"Program File"这个文件夹里面导致识别出错,更换安装路径即可

L-Super commented 2 months ago

是因为你把CLion安装在"Program File"这个文件夹里面导致识别出错,更换安装路径即可

正解,MinGW对带空格路径未处理好