2019-02-19 遇到的一个大问题,一直没弄好,记录一下。
最近收到任务,需要编译nextcloud的desktop客户端。
按同事给的文档需要使用到Mingw环境,所以通过下载Msys2,修改源,然后使用pacman命令来下载安装开发工具包和QT包。
相关步骤和pacman命令,网上搜一下很多,懒得贴了。先记录几点。
下载下来的文件路径是在:
C:\msys64\var\cache\pacman\pkg
安装已下载好的文件或者网络上的文件就直接网址
pacman -U C:\\msys64\\var\\cache\\pacman\\pkg\\mingw-w64-x86_64-qt5-5.10.1-2-any.pkg.tar.xz
但是执行CMake时却一直提示错误:
F:\build_root\client-build>cmake -G "MinGW Makefiles" ../client
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe
-- Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/g++.exe
-- Check for working CXX compiler: C:/msys64/mingw64/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build of crashreporter disabled.
55ff37a4543f8d223e74b4f631eac2f118d394af
-- GIT_SHA1 55ff37a4543f8d223e74b4f631eac2f118d394af
-- Could NOT find INOTIFY (missing: INOTIFY_INCLUDE_DIR INOTIFY_LIBRARY_DIR)
-- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE)
-- Could NOT find PdfLatex (missing: PDFLATEX_EXECUTABLE)
-- Found OpenSSL: C:/Program Files (x86)/Intel/Intel(R) Management Engine Components/iCLS/libeay32.dll (found suitable version "1.1.0i", minimum required is "1.1")
-- Found ZLIB: C:/msys64/mingw64/lib/libz.dll.a (found version "1.2.11")
-- Found PkgConfig: C:/msys64/mingw64/bin/pkg-config.exe (found version "0.29.2")
-- Found GLib2: C:/msys64/mingw64/lib/libglib-2.0.dll.a
-- Found Gio libraries: C:/msys64/mingw64/lib/libgio-2.0.dll.a
-- Found Gio includes : C:/msys64/mingw64/include/glib-2.0/gio
================> LIBCLOUDPROVIDERS_LIBRARY-NOTFOUND
-- Could NOT find LIBCLOUDPROVIDERS (missing: LIBCLOUDPROVIDERS_INCLUDE_DIR LIBCLOUDPROVIDERS_LIBRARY)
CMake Error at C:/msys64/mingw64/lib/cmake/Qt5/Qt5Config.cmake:28 (find_package):
Could not find a package configuration file provided by
"Qt5WebEngineWidgets" with any of the following names:
Qt5WebEngineWidgetsConfig.cmake
qt5webenginewidgets-config.cmake
Add the installation prefix of "Qt5WebEngineWidgets" to CMAKE_PREFIX_PATH
or set "Qt5WebEngineWidgets_DIR" to a directory containing one of the above
files. If "Qt5WebEngineWidgets" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
src/CMakeLists.txt:7 (find_package)
-- Configuring incomplete, errors occurred!
See also "F:/build_root/client-build/CMakeFiles/CMakeOutput.log".
网上找的好像都是说的Mingw不支持Qt5WebEngineWidgets库,试了些办法一直没找到合适的库。原本打算在QTCN开发网搜索是否有别人上传的或者问一下,无奈注册时一直失败。提示数据格式错误,无法解析。
GitHub看了几个回答,都是说的使用使用visualstudio编译。因为编译nextcloud目前不是重点,所以放弃了。继续使用qtcreator.exe编译公司的项目。
这是解决了的几个问题,顺手贴一下。
CMake Error at F:/nextcloud/CMake/share/cmake-3.14/Modules/FindQt4.cmake:1314 (message):
Found unsuitable Qt version "" from NOTFOUND, this code requires Qt 4.x
Call Stack (most recent call first):
CMakeLists.txt:97 (find_package)
Running "F:\build_root\CMake\bin\cmake.exe -E server "--pipe=\\.\pipe\{ba98231e-945f-47e6-9328-96c038b69feb}" --experimental" in C:\Users\wannoo\AppData\Local\Temp\QtCreator-OxDhuY\qtc-cmake-yDHfFaaj.
Starting to parse CMake project, using: "-DCMAKE_CXX_COMPILER:STRING=", "-DCMAKE_C_COMPILER:STRING=", "-DCMAKE_PREFIX_PATH:STRING=", "-DQT_QMAKE_EXECUTABLE:STRING=".
The C compiler identification is unknown
The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:4 (project):
The CMAKE_C_COMPILER:
cl
is not a full path and was not found in the PATH.
To use the JOM generator with Visual C++, cmake must be run from a shell
that can use the compiler cl from the command line. This environment is
unable to invoke the cl compiler. To fix this problem, run cmake from the
Visual Studio Command Prompt (vcvarsall.bat).
Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.
CMake Error at CMakeLists.txt:4 (project):
The CMAKE_CXX_COMPILER:
cl
is not a full path and was not found in the PATH.
To use the JOM generator with Visual C++, cmake must be run from a shell
that can use the compiler cl from the command line. This environment is
unable to invoke the cl compiler. To fix this problem, run cmake from the
Visual Studio Command Prompt (vcvarsall.bat).
Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.
Configuring incomplete, errors occurred!
See also "C:/Users/wannoo/AppData/Local/Temp/QtCreator-OxDhuY/qtc-cmake-yDHfFaaj/CMakeFiles/CMakeOutput.log".
See also "C:/Users/wannoo/AppData/Local/Temp/QtCreator-OxDhuY/qtc-cmake-yDHfFaaj/CMakeFiles/CMakeError.log".
CMake Project parsing failed.
Running "F:\build_root\CMake\bin\cmake.exe -E server "--pipe=\\.\pipe\{bb39b132-5c63-4e29-a4f3-5c2aedf8d06b}" --experimental" in C:\Users\wannoo\AppData\Local\Temp\QtCreator-NRiRic\qtc-cmake-hUsxnRyj.
QLocalSocket::connectToServer:无效名称
QLocalSocket::connectToServer:无效名称
Starting to parse CMake project, using: "-DCMAKE_CXX_COMPILER:STRING=C:/msys64/mingw64/bin/g++.exe", "-DCMAKE_C_COMPILER:STRING=C:/msys64/mingw64/bin/gcc.exe", "-DCMAKE_PREFIX_PATH:STRING=C:/msys64/mingw64", "-DQT_QMAKE_EXECUTABLE:STRING=C:/msys64/mingw64/bin/qmake.exe".
The C compiler identification is GNU 7.3.0
The CXX compiler identification is GNU 7.3.0
Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe
CMake Error: Generator: execution of make failed. Make command was: "jom" "/nologo" "cmTC_24d85\fast"
Check for working C compiler: C:/msys64/mingw64/bin/gcc.exe -- broken
CMake Error at F:/build_root/Cmake/share/cmake-3.12/Modules/CMakeTestCCompiler.cmake:52 (message):
The C compiler
"C:/msys64/mingw64/bin/gcc.exe"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: C:/Users/wannoo/AppData/Local/Temp/QtCreator-NRiRic/qtc-cmake-hUsxnRyj/CMakeFiles/CMakeTmp
Run Build Command:"jom" "/nologo" "cmTC_24d85\fast"
系统找不到指定的文件。
Generator: execution of make failed. Make command was: "jom" "/nologo" "cmTC_24d85\fast"
CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:4 (project)
Configuring incomplete, errors occurred!
See also "C:/Users/wannoo/AppData/Local/Temp/QtCreator-NRiRic/qtc-cmake-hUsxnRyj/CMakeFiles/CMakeOutput.log".
See also "C:/Users/wannoo/AppData/Local/Temp/QtCreator-NRiRic/qtc-cmake-hUsxnRyj/CMakeFiles/CMakeError.log".
CMake Project parsing failed.
网友评论