clang compilation failed on win system #79

Open
opened 2025-06-01 13:03:41 -05:00 by abin-z · 2 comments
abin-z commented 2025-06-01 13:03:41 -05:00 (Migrated from github.com)

The usage is vcpkg, not git clone:

Image

[main] Building folder: E:/projects/vcpkgDemo/build/vcpkg-windows-debug main, base64
[build] Starting build
[proc] Executing command: "D:\Program Files\CMake\bin\cmake.EXE" --build E:/projects/vcpkgDemo/build/vcpkg-windows-debug --target main base64 --
[build] [1/2] Building CXX object src/CMakeFiles/base64.dir/base64.cpp.obj
[build] FAILED: src/CMakeFiles/base64.dir/base64.cpp.obj
[build] D:\DevTools\clang+llvm-20.1.1-x86_64-pc-windows-msvc\bin\clang++.exe -DFMT_SHARED -isystem E:/projects/vcpkgDemo/build/vcpkg-windows-debug/vcpkg_installed/x64-windows/include -O0 -g -Xclang -gcodeview -std=c++17 -D_DEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrtd -MD -MT src/CMakeFiles/base64.dir/base64.cpp.obj -MF src\CMakeFiles\base64.dir\base64.cpp.obj.d -o src/CMakeFiles/base64.dir/base64.cpp.obj -c E:/projects/vcpkgDemo/src/base64.cpp
[build] In file included from E:/projects/vcpkgDemo/src/base64.cpp:3:
[build] In file included from E:/projects/vcpkgDemo/build/vcpkg-windows-debug/vcpkg_installed/x64-windows/include\cppcodec/base64_rfc4648.hpp:28:
[build] In file included from E:/projects/vcpkgDemo/build/vcpkg-windows-debug/vcpkg_installed/x64-windows/include\cppcodec\detail/base64.hpp:38:
[build] E:/projects/vcpkgDemo/build/vcpkg-windows-debug/vcpkg_installed/x64-windows/include\cppcodec\detail\stream_codec.hpp:98:17: error: use 'template' keyword to treat 'operator ()' as a dependent template name
[build] 98 | pad.operator()(encoded, state, Codec::encoded_block_size() - NumSymbols);
[build] | ^
[build] 1 error generated.
[build] ninja: build stopped: subcommand failed.
[proc] The command: "D:\Program Files\CMake\bin\cmake.EXE" --build E:/projects/vcpkgDemo/build/vcpkg-windows-debug --target main base64 -- exited with code: 1
[driver] Build completed: 00:00:00.356
[build] Build finished with exit code 1


Direct use pad.template operator()<CodecVariant>(encoded, state, Codec::encoded_block_size() - NumSymbols);

### The usage is vcpkg, not git clone: ![Image](https://github.com/user-attachments/assets/720e4fe9-16ac-4295-bf2b-d0b8cac2e14e) [main] Building folder: E:/projects/vcpkgDemo/build/vcpkg-windows-debug main, base64 [build] Starting build [proc] Executing command: "D:\Program Files\CMake\bin\cmake.EXE" --build E:/projects/vcpkgDemo/build/vcpkg-windows-debug --target main base64 -- [build] [1/2] Building CXX object src/CMakeFiles/base64.dir/base64.cpp.obj [build] FAILED: src/CMakeFiles/base64.dir/base64.cpp.obj [build] D:\DevTools\clang+llvm-20.1.1-x86_64-pc-windows-msvc\bin\clang++.exe -DFMT_SHARED -isystem E:/projects/vcpkgDemo/build/vcpkg-windows-debug/vcpkg_installed/x64-windows/include -O0 -g -Xclang -gcodeview -std=c++17 -D_DEBUG -D_DLL -D_MT -Xclang --dependent-lib=msvcrtd -MD -MT src/CMakeFiles/base64.dir/base64.cpp.obj -MF src\CMakeFiles\base64.dir\base64.cpp.obj.d -o src/CMakeFiles/base64.dir/base64.cpp.obj -c E:/projects/vcpkgDemo/src/base64.cpp [build] In file included from E:/projects/vcpkgDemo/src/base64.cpp:3: [build] In file included from E:/projects/vcpkgDemo/build/vcpkg-windows-debug/vcpkg_installed/x64-windows/include\cppcodec/base64_rfc4648.hpp:28: [build] In file included from E:/projects/vcpkgDemo/build/vcpkg-windows-debug/vcpkg_installed/x64-windows/include\cppcodec\detail/base64.hpp:38: [build] E:/projects/vcpkgDemo/build/vcpkg-windows-debug/vcpkg_installed/x64-windows/include\cppcodec\detail\stream_codec.hpp:98:17: error: use 'template' keyword to treat 'operator ()' as a dependent template name [build] 98 | pad.operator()<CodecVariant>(encoded, state, Codec::encoded_block_size() - NumSymbols); [build] | ^ [build] 1 error generated. [build] ninja: build stopped: subcommand failed. [proc] The command: "D:\Program Files\CMake\bin\cmake.EXE" --build E:/projects/vcpkgDemo/build/vcpkg-windows-debug --target main base64 -- exited with code: 1 [driver] Build completed: 00:00:00.356 [build] Build finished with exit code 1 --- Direct use `pad.template operator()<CodecVariant>(encoded, state, Codec::encoded_block_size() - NumSymbols);`
abin-z commented 2025-06-02 00:27:45 -05:00 (Migrated from github.com)

I noticed that your latest code no longer has this macro, I hope you can release a new version


我注意到您的最新代码不再有这个宏,希望您能发布一个新版本

I noticed that your latest code no longer has this macro, I hope you can release a new version --- 我注意到您的最新代码不再有这个宏,希望您能发布一个新版本
sburton84 commented 2025-11-14 07:54:14 -06:00 (Migrated from github.com)

Yeah I'm also running into this issue when compiling with Clang on Windows, seems like the change that fixes this was already done 6 years ago so it would be nice to get a new release including this.

Yeah I'm also running into this issue when compiling with Clang on Windows, seems like the change that fixes this was already done 6 years ago so it would be nice to get a new release including this.
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-tplgy/cppcodec#79
No description provided.