You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows安装Caffe遇"Invalid Integer Constant Expression"错误求助

解决Windows 10+VS2015安装Caffe时CUDA版本冲突的问题

你遇到的"Invalid Integer Constant Expression"错误,确实是因为Windows版Caffe(尤其是适配VS2015的早期分支)对CUDA 9的支持不完善,而系统默认调用了CUDA 9导致的。结合你同时安装了CUDA 8和9的情况,这里有几种可靠的方法强制Caffe编译时使用CUDA 8:

方法1:直接修改build_win.cmd脚本

这是最直接的方式,手动指定编译时使用的CUDA版本:

  • 找到Caffe源码目录下的scripts/build_win.cmd文件,用记事本或VS打开
  • 查找脚本中设置CUDA版本的行,通常是类似set CUDA_VERSION=9.0的语句,把它改成set CUDA_VERSION=8.0
  • 同时检查是否有set CUDA_PATH的配置,如果存在,将其路径改为你的CUDA 8安装目录,比如:
    set CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
    
  • 保存修改后,重新运行build_win.cmd即可

方法2:调整系统环境变量优先级

让系统优先识别CUDA 8的路径,避免默认调用CUDA 9:

  • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  • 在「系统变量」区域找到PATH变量,点击「编辑」
  • 将CUDA 8的bin目录(比如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin)拖动到CUDA 9对应目录的上方
  • 同样,把CUDA 8的libnvvp目录也移到CUDA 9目录的前面
  • 重启命令提示符或VS2015,再执行编译脚本

方法3:在VS项目中手动指定CUDA版本(若已生成项目文件)

如果已经运行过一次脚本生成了VS解决方案,可以直接在项目中修改:

  • 打开生成的Caffe.sln文件
  • 右键主项目(比如libcaffe或caffe)→「属性」→「CUDA C/C++」→「Common」
  • 在「CUDA Toolkit Version」的下拉菜单中选择8.0
  • 注意:所有依赖的子项目都需要同步设置成CUDA 8.0,之后点击「生成解决方案」即可

另外要确认你使用的Caffe分支是适配CUDA 8的,比如BVLC官方的Windows分支早期版本确实只支持到CUDA 8,所以切换到CUDA 8是解决这个错误的核心方向。

内容的提问来源于stack exchange,提问作者yihao.fu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:13:09