zhuzichu520 / FluentUI

FluentUI for QML
MIT License
3.49k stars 457 forks source link

vscmake编译main版本失败,麻烦大佬看看 #278

Open JianJingGao opened 1 year ago

JianJingGao commented 1 year ago

环境是qt6,CMakeList如下

cmake_minimum_required(VERSION 3.20)

project(FluentUI VERSION 0.1 LANGUAGES CXX)

set(FLUENTUI_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}) list(APPEND CMAKE_MODULE_PATH ${FLUENTUI_DIRECTORY}/.cmake/)

include(GetGitRevisionDescription)

option(FLUENTUI_BUILD_EXAMPLES "Build FluentUI demo applications." ON) option(FLUENTUI_BUILD_FRAMELESSHEPLER "Build FramelessHelper." ON) option(FLUENTUI_BUILD_STATIC_LIB "Build static library." OFF) set(Qt6_DIR "G:\Qt\6.5.2\msvc2019_64\lib\cmake\Qt6") set(QT_SDK_DIR "G:\Qt\6.5.2\msvc2019_64\")

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core)

set(QT_SDK_DIR "${Qt${QT_VERSION_MAJOR}_DIR}")

cmake_path(GET QT_SDK_DIR PARENT_PATH QT_SDK_DIR)

cmake_path(GET QT_SDK_DIR PARENT_PATH QT_SDK_DIR)

cmake_path(GET QT_SDK_DIR PARENT_PATH QT_SDK_DIR)

设置QML插件输出目录,可以通过外部设置,如果外部没有设置就默认到\qml\FluentUI目录下

set(FLUENTUI_QML_PLUGIN_DIRECTORY "" CACHE PATH "Path to FluentUI plugin") if(NOT FLUENTUI_QML_PLUGIN_DIRECTORY) set(FLUENTUI_QML_PLUGIN_DIRECTORY ${QT_SDK_DIR}qml\FluentUI) endif()

add_subdirectory(src) add_subdirectory(zxing-cpp)

if (FLUENTUI_BUILD_EXAMPLES) add_subdirectory(example) endif ()

if (FLUENTUI_BUILD_FRAMELESSHEPLER) set(FRAMELESSHELPER_BUILD_STATIC ON) set(FRAMELESSHELPER_NO_DEBUG_OUTPUT ON) add_subdirectory(framelesshelper) endif ()

message("------------------------ FluentUI ------------------------") message("Build FluentUI demo applications.: ${FLUENTUI_BUILD_EXAMPLES}") message("Build FramelessHelper.: ${FLUENTUI_BUILD_FRAMELESSHEPLER}") message("Build static library.: ${FLUENTUI_BUILD_STATIC_LIB}") message("Path to FluentUI plugin.: `${FLUENTUI_QML_PLUGIN_DIRECTORY}") 这是编译日志

[build] Starting build
[proc] Executing command: "C:\Program Files\CMake\bin\cmake.EXE" --build g:/FluentUI-main/build --config Debug --target ALL_BUILD -j 18 --
[build] 用于 .NET Framework 的 Microsoft (R) 生成引擎版本 16.11.2+f32259642
[build] 版权所有(C) Microsoft Corporation。保留所有权利。
[build] 
[build]   Automatic MOC and UIC for target Quick_resources_1
[build]   Automatic MOC and UIC for target Quickplugin_init
[build]   Quick_resources_1.vcxproj -> G:\FluentUI-main\build\framelesshelper\src\quick\Quick_resources_1.dir\Debug\Quick_resources_1.lib
[build]   Automatic MOC and UIC for target Core_resources_1
[build]   Core_resources_1.vcxproj -> G:\FluentUI-main\build\framelesshelper\src\core\Core_resources_1.dir\Debug\Core_resources_1.lib
[build]   Quickplugin_init.vcxproj -> G:\FluentUI-main\build\framelesshelper\src\quick\Quickplugin_init.dir\Debug\Quickplugin_init.lib
[build]   Automatic MOC and UIC for target Core
[build]   ZXing.vcxproj -> G:\FluentUI-main\build\zxing-cpp\core\Debug\ZXing.lib
[build]   Automatic MOC and UIC for target fluentuiplugin
[build]   Core.vcxproj -> G:\FluentUI-main\build\framelesshelper\lib64\Debug\FramelessHelperCored.lib
[build]   Automatic MOC and UIC for target Widgets
[build]   Automatic MOC and UIC for target Quick
[build]   Widgets.vcxproj -> G:\FluentUI-main\build\framelesshelper\lib64\Debug\FramelessHelperWidgetsd.lib
[build]   Running AUTOMOC file extraction for target Quick
[build]   Running AUTOMOC file extraction for target fluentuiplugin
[build]   Running moc --collect-json for target Quick
[build]   Running moc --collect-json for target fluentuiplugin
[build]   Quick.vcxproj -> G:\FluentUI-main\build\framelesshelper\lib64\Debug\FramelessHelperQuickd.lib
[build]   Automatic MOC and UIC for target Quickplugin
[build]   Quickplugin.vcxproj -> G:\FluentUI-main\build\framelesshelper\imports\org\wangwenx190\FramelessHelper\Debug\Quickplugind.lib
[build]   fluentuiplugin.vcxproj -> G:\Qt\6.5.2\msvc2019_64\qml\FluentUI\Debug\fluentuiplugin.dll
[build]   Automatic MOC and UIC for target example
[build]   
[build]   AutoMoc error
[build]   -------------
[build]   "SRC:/example/build/example_autogen/mocs_compilation_Debug.cpp"
[build]   includes the moc file "FHOFCCN7FJ/moc_CircularReveal.cpp",
[build]   but a header "FHOFCCN7FJ/CircularReveal.{h,hh,h++,hm,hpp,hxx,in,txx}"
[build]   could not be found in the following directories
[build]     "SRC:/example/build/example_autogen/FHOFCCN7FJ"
[build]     "SRC:/example/FHOFCCN7FJ"
[build]     "SRC:/example/src/component/FHOFCCN7FJ"
[build]     "SRC:/zxing-cpp/core/src/FHOFCCN7FJ"
[build]     "SRC:/build/zxing-cpp/core/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtQml/6.5.2/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtQml/6.5.2/QtQml/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtCore/6.5.2/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtCore/6.5.2/QtCore/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtCore/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/mkspecs/win32-msvc/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtQml/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtQmlIntegration/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtNetwork/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtQuick/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtGui/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtQmlModels/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtOpenGL/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtSvg/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtQuick/6.5.2/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtQuick/6.5.2/QtQuick/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtGui/6.5.2/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtGui/6.5.2/QtGui/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtQmlModels/6.5.2/FHOFCCN7FJ"
[build]     "G:/Qt/6.5.2/msvc2019_64/include/QtQmlModels/6.5.2/QtQmlModels/FHOFCCN7FJ"
[build]   
[build] C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(241,5): error MSB8066: “G:\FluentUI-main\build\CMakeFiles\1d90add355fbddc32fff75669529011d\example_autogen.rule”的自定义生成已退出,代码为 1。 [G:\FluentUI-main\build\example\example_autogen.vcxproj]
[proc] The command: "C:\Program Files\CMake\bin\cmake.EXE" --build g:/FluentUI-main/build --config Debug --target ALL_BUILD -j 18 -- exited with code: 1
caohengvs commented 11 months ago

vscode需要配置cmake相关的属性如: setting.json

{
    "cmake.configureEnvironment": {
        "CMAKE_PREFIX_PATH": <YOUR_CMAKE_LIBPATH>
    },
    "cmake.configureArgs": [
        "-GNinja","${workspaceFolder}"
    ]
    ,
    "cmake.buildArgs": [
        "--parallel"
    ]
}