[GH-ISSUE #571] Window 下编译错误 #420

Closed
opened 2026-10-29 14:39:24 +00:00 by bsakaguchi · 7 comments
Owner

Originally created by @xialang2012 on GitHub (Feb 21, 2025).
Original GitHub issue: https://github.com/kvcache-ai/ktransformers/issues/571

CUDA 12.4 + Pytorch 2.4 + Cmake 3.31

  “C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\ALL_BUILD.vcxproj”(默认目标) (1) ->
  “C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj”(默认目标) (4) ->
  (ClCompile 目标) ->
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,29): error C2065: “cudaStream_t”: 未声明的标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,42): error C2146: 语法错误: 缺少“)”(在标识符“user_cuda_stream”的前面) (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,9): error C3861: “cudaLaunchHostFunc”: 找 不到标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,42): error C2146: 语法错误: 缺少“;”(在标识符“user_cuda_stream”的前面) (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,61): error C2065: “cudaHostFn_t”: 未声明的标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,74): error C2146: 语法错误: 缺少“;”(在标识符“func”的前面) (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,1): error C2059: 语法错误:“)” (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,29): error C2065: “cudaStream_t”: 未声明的标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,42): error C2146: 语法错误: 缺少“)”(在标识符“user_cuda_stream”的前面) (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,9): error C3861: “cudaLaunchHostFunc”: 找 不到标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,42): error C2146: 语法错误: 缺少“;”(在标识符“user_cuda_stream”的前面) (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,61): error C2065: “cudaHostFn_t”: 未声明的标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
    C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,1): error C2059: 语法错误:“)” (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]

      236 个警告
      13 个错误
Originally created by @xialang2012 on GitHub (Feb 21, 2025). Original GitHub issue: https://github.com/kvcache-ai/ktransformers/issues/571 **CUDA 12.4 + Pytorch 2.4 + Cmake 3.31** “C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\ALL_BUILD.vcxproj”(默认目标) (1) -> “C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj”(默认目标) (4) -> (ClCompile 目标) -> C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,29): error C2065: “cudaStream_t”: 未声明的标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,42): error C2146: 语法错误: 缺少“)”(在标识符“user_cuda_stream”的前面) (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,9): error C3861: “cudaLaunchHostFunc”: 找 不到标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,42): error C2146: 语法错误: 缺少“;”(在标识符“user_cuda_stream”的前面) (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,61): error C2065: “cudaHostFn_t”: 未声明的标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,74): error C2146: 语法错误: 缺少“;”(在标识符“func”的前面) (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(68,1): error C2059: 语法错误:“)” (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,29): error C2065: “cudaStream_t”: 未声明的标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,42): error C2146: 语法错误: 缺少“)”(在标识符“user_cuda_stream”的前面) (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,9): error C3861: “cudaLaunchHostFunc”: 找 不到标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,42): error C2146: 语法错误: 缺少“;”(在标识符“user_cuda_stream”的前面) (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,61): error C2065: “cudaHostFn_t”: 未声明的标识符 (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\cpu_backend/cpuinfer.h(77,1): error C2059: 语法错误:“)” (编译源文件 C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\ext_bindings.cpp) [C:\Users\admin\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] 236 个警告 13 个错误
bsakaguchi 2026-10-29 14:39:24 +00:00
  • closed this issue
  • added the
    stale
    label
Author
Owner

@jzz001 commented on GitHub (Feb 21, 2025):

这里根本没人管windows的问题。

<!-- gh-comment-id:2673959183 --> @jzz001 commented on GitHub (Feb 21, 2025): 这里根本没人管windows的问题。
Author
Owner

@deltaww-davehu commented on GitHub (Feb 21, 2025):

这个问题是新加的‘ Support Moore Threads GPU’ 引入的问题。
回退改修改,或者自己手动修改 ktransformers/ktransformers_ext/cpu_backend/cpuinfer.h 文件,就可以。

临时添加下面的代码到文件头
···
#define KTRANSFORMERS_USE_CUDA 1
···

<!-- gh-comment-id:2674694343 --> @deltaww-davehu commented on GitHub (Feb 21, 2025): 这个问题是新加的‘ Support Moore Threads GPU’ 引入的问题。 回退改修改,或者自己手动修改 ktransformers/ktransformers_ext/cpu_backend/cpuinfer.h 文件,就可以。 临时添加下面的代码到文件头 ··· #define KTRANSFORMERS_USE_CUDA 1 ···
Author
Owner

@xialang2012 commented on GitHub (Feb 22, 2025):

这个问题是新加的‘ Support Moore Threads GPU’ 引入的问题。 回退改修改,或者自己手动修改 ktransformers/ktransformers_ext/cpu_backend/cpuinfer.h 文件,就可以。

临时添加下面的代码到文件头 ··· #define KTRANSFORMERS_USE_CUDA 1 ···

编译可以了,但运行还是报错。
RuntimeError: probability tensor contains either inf, nan or element < 0

<!-- gh-comment-id:2675998886 --> @xialang2012 commented on GitHub (Feb 22, 2025): > 这个问题是新加的‘ Support Moore Threads GPU’ 引入的问题。 回退改修改,或者自己手动修改 ktransformers/ktransformers_ext/cpu_backend/cpuinfer.h 文件,就可以。 > > 临时添加下面的代码到文件头 ··· #define KTRANSFORMERS_USE_CUDA 1 ··· 编译可以了,但运行还是报错。 RuntimeError: probability tensor contains either `inf`, `nan` or element < 0
Author
Owner

@deltaww-davehu commented on GitHub (Feb 22, 2025):

打印这个信息的时候,运行到哪里了?你用的是local_chat吗?
这个问题,我没有碰到过,也许可以尝试升级cuda到12.6试试,我这边用的是12.6, 没有碰到过你的问题。

<!-- gh-comment-id:2676036873 --> @deltaww-davehu commented on GitHub (Feb 22, 2025): 打印这个信息的时候,运行到哪里了?你用的是local_chat吗? 这个问题,我没有碰到过,也许可以尝试升级cuda到12.6试试,我这边用的是12.6, 没有碰到过你的问题。
Author
Owner

@ien0 commented on GitHub (Feb 24, 2025):

打印这个信息的时候,运行到哪里了?你用的是local_chat吗? 这个问题,我没有碰到过,也许可以尝试升级cuda到12.6试试,我这边用的是12.6, 没有碰到过你的问题。

请问下我也是cuda12.6的,之前提示找不到cl,然后我用用Microsoft Visual Studio\2022下载编译环境后,编译时候提示

(ClCompile 鐩\xae鏍\x87) ->
F:\models\ktransformers\ktransformers\ktransformers_ext\operators\kvcache\kvcache_load_dump.cpp(14,31): error C2039: "high_resolution_clock": 涓嶆槸 "std::chrono" 鐨勬垚鍛\x98 [F:\models\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
F:\models\ktransformers\ktransformers\ktransformers_ext\operators\kvcache\kvcache_load_dump.cpp(14,31): error C3083: 鈥渉igh_resolution_clock鈥\x9d:鈥\x9c::鈥濆乏渚х殑绗﹀彿蹇呴』鏄\xaf涓\x80绉嶇被鍨\x8b [F:\models\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
F:\models\ktransformers\ktransformers\ktransformers_ext\operators\kvcache\kvcache_load_dump.cpp(14,54): error C2039: "now": 涓嶆槸 "std::chrono" 鐨勬垚鍛\x98 [F:\models\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]
F:\models\ktransformers\ktransformers\ktransformers_ext\operators\kvcache\kvcache_load_dump.cpp(14,54): error C3861: 鈥渘ow鈥\x9d: 鎵句笉鍒版爣璇嗙\xac\xa6 [F:\models\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj]

想请教三个问题,
1、是cmd里面的乱码怎么设置才能显示正常呢?
2、提示找不到cl后我安装完Microsoft Visual Studio\2022编译环境 是用
call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
这样来设置的,就可以继续编译
3、这个错误你有遇到吗?好像是提示"high_resolution_clock"不在 "std::chrono"里面,但是C++11就引入了。不知道为啥

更新下报错的加头文件就好了。但是乱码的问题还是想问下,虽然略过也可以

<!-- gh-comment-id:2677235442 --> @ien0 commented on GitHub (Feb 24, 2025): > 打印这个信息的时候,运行到哪里了?你用的是local_chat吗? 这个问题,我没有碰到过,也许可以尝试升级cuda到12.6试试,我这边用的是12.6, 没有碰到过你的问题。 请问下我也是cuda12.6的,之前提示找不到cl,然后我用用Microsoft Visual Studio\2022下载编译环境后,编译时候提示 (ClCompile 鐩\xae鏍\x87) -> F:\models\ktransformers\ktransformers\ktransformers_ext\operators\kvcache\kvcache_load_dump.cpp(14,31): error C2039: "high_resolution_clock": 涓嶆槸 "std::chrono" 鐨勬垚鍛\x98 [F:\models\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] F:\models\ktransformers\ktransformers\ktransformers_ext\operators\kvcache\kvcache_load_dump.cpp(14,31): error C3083: 鈥渉igh_resolution_clock鈥\x9d:鈥\x9c::鈥濆乏渚х殑绗﹀彿蹇呴』鏄\xaf涓\x80绉嶇被鍨\x8b [F:\models\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] F:\models\ktransformers\ktransformers\ktransformers_ext\operators\kvcache\kvcache_load_dump.cpp(14,54): error C2039: "now": 涓嶆槸 "std::chrono" 鐨勬垚鍛\x98 [F:\models\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] F:\models\ktransformers\ktransformers\ktransformers_ext\operators\kvcache\kvcache_load_dump.cpp(14,54): error C3861: 鈥渘ow鈥\x9d: 鎵句笉鍒版爣璇嗙\xac\xa6 [F:\models\ktransformers\ktransformers\ktransformers_ext\build\cpuinfer_ext.vcxproj] 想请教三个问题, 1、是cmd里面的乱码怎么设置才能显示正常呢? 2、提示找不到cl后我安装完Microsoft Visual Studio\2022编译环境 是用 call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat" 这样来设置的,就可以继续编译 3、这个错误你有遇到吗?好像是提示"high_resolution_clock"不在 "std::chrono"里面,但是C++11就引入了。不知道为啥 更新下报错的加头文件就好了。但是乱码的问题还是想问下,虽然略过也可以
Author
Owner

@knilink commented on GitHub (Mar 3, 2025):

应该已修复https://github.com/kvcache-ai/ktransformers/pull/622

<!-- gh-comment-id:2693653376 --> @knilink commented on GitHub (Mar 3, 2025): 应该已修复https://github.com/kvcache-ai/ktransformers/pull/622
Author
Owner

@ErvinXie commented on GitHub (Dec 11, 2025):

This issue has been automatically closed due to inactivity for 60 days.

If you believe this issue is still relevant, please feel free to reopen it with additional information or context.

Thank you for your contribution to KTransformers!


此 issue 因超过 60 天无活动而被自动关闭。

如果您认为此问题仍然存在,请随时重新打开并提供更多信息或上下文。

感谢您对 KTransformers 的贡献!

<!-- gh-comment-id:3639968340 --> @ErvinXie commented on GitHub (Dec 11, 2025): This issue has been automatically closed due to inactivity for 60 days. If you believe this issue is still relevant, please feel free to reopen it with additional information or context. Thank you for your contribution to KTransformers! --- 此 issue 因超过 60 天无活动而被自动关闭。 如果您认为此问题仍然存在,请随时重新打开并提供更多信息或上下文。 感谢您对 KTransformers 的贡献!
Sign in to join this conversation.
No milestone
No project
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
kvcache-ai/ktransformers#420
No description provided.