Tencent / libpag

The official rendering library for PAG (Portable Animated Graphics) files that renders After Effects animations natively across multiple platforms.
https://pag.art
Other
4.73k stars 437 forks source link

clion编译项目失败 #2248

Closed carleft closed 1 month ago

carleft commented 1 month ago

【版本信息】

分支 tag 4.3.43

【平台信息】

windows + vs2019环境 image

【预期的表现】

【实际的情况】

build报错 In file included from D:/libpag/third_party/tgfx/third_party/pathkit/include/private/SkPathRef.h:19, from D:/libpag/third_party/tgfx/third_party/pathkit/include/core/SkPath.h:12, from D:/libpag/third_party/tgfx/third_party/pathkit/include/core/SkPathEffect.h:12, from D:/libpag/third_party/tgfx/third_party/pathkit/src/core/SkPaint.cpp:10: D:/libpag/third_party/tgfx/third_party/pathkit/include/private/SkMutex.h:17:13: error: explicitly defaulted function 'constexpr pk::SkMutex::SkMutex()' cannot be declared 'constexpr' because the implicit declaration is not 'constexpr': 17 | constexpr SkMutex() = default; | ^~~ In file included from D:/Programs/JetBrains/CLion 2023.3.4/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/mutex:45, from D:/libpag/third_party/tgfx/third_party/pathkit/include/private/SkMutex.h:10: D:/Programs/JetBrains/CLion 2023.3.4/bin/mingw/lib/gcc/x86_64-w64-mingw32/13.1.0/include/c++/bits/std_mutex.h:104:5: note: defaulted constructor calls non-'constexpr' 'std::mutex::mutex()' 104 | mutex() noexcept = default;

【Demo及附件】

domchen commented 1 month ago

D:/Programs/JetBrains/CLion 2023.3.4/bin/mingw/lib/gcc/x86_64-w64-mingw32/13. 你报错的内容显示你用的工具链不是VS,而是mingw。自己排查一下是不是缓存还是编译的工具链没指定对。

carleft commented 1 month ago

感谢上一个回答指正,排查完确实是编译工具链的问题 现在指定对了,但是依然报错,找不到libtgfx-vendor.lib

LINK : fatal error LNK1181: cannot open input file 'D:\libpag\cmake-build-debug\tgfx\CMakeFiles\tgfx-vendor.dir\x64\libtgfx-vendor.lib' [D:\libpag\cmake-build-debug\tgfx\tgfx.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: The command "setlocal [D:\libpag\cmake-build-debug\tgfx\tgfx.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: node D:/libpag/third_party/tgfx/third_party/vendor_tools/lib-merge -p win -a x64 -v D:/libpag/cmake-build-debug/tgfx/Debug/tgfx.lib "D:/Windows Kits/10/Lib/10.0.19041.0/um/x64/dwrite.lib" D:/libpag/cmake-build-debug/tgfx/CMakeFiles/tgfx-vendor.dir/x64/libtgfx-vendor.lib -o D:/libpag/cmake-build-debug/tgfx/Debug/tgfx.lib [D:\libpag\cmake-build-debug\tgfx\tgfx.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :cmEnd [D:\libpag\cmake-build-debug\tgfx\tgfx.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmEnd [D:\libpag\cmake-build-debug\tgfx\tgfx.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone [D:\libpag\cmake-build-debug\tgfx\tgfx.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmErrorLevel [D:\libpag\cmake-build-debug\tgfx\tgfx.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: exit /b %1 [D:\libpag\cmake-build-debug\tgfx\tgfx.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :cmDone [D:\libpag\cmake-build-debug\tgfx\tgfx.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: if %errorlevel% neq 0 goto :VCEnd [D:\libpag\cmake-build-debug\tgfx\tgfx.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(155,5): error MSB3073: :VCEnd" exited with code 1. [D:\libpag\cmake-build-debug\tgfx\tgfx.vcxproj]

看了一下该目录发现只有一个libtgfx-vendor.a 没有 libtgfx-vendor.lib,这个问题怎么解决 image

domchen commented 1 month ago

更新一下代码,用最新的tag 4.3.51