MacOS下VSCode使用CMake Tools构建项目时找不到z3++.h头文件求助
错误根因
你遇到的编译报错本质是CMake没有正确获取Z3的头文件搜索路径,导致编译器无法找到z3++.h这个Z3的C++绑定头文件。
解决步骤
- 第一步:确认Z3已安装及安装路径
如果你用Homebrew管理包,直接执行brew install z3完成安装,再执行brew info z3就能看到Z3的实际安装路径,默认Intel芯片Mac路径为/usr/local/Cellar/z3/[版本号]/,M系列芯片Mac路径为/opt/homebrew/Cellar/z3/[版本号]/。 - 第二步:给CMake指定Z3路径(任选一种即可,推荐第一种无需修改项目代码)
方法1:修改VSCode CMake Tools配置
打开VSCode设置,搜索CMake: Configure Args,点击添加项,依次加入两个配置参数:
配置完成后点击CMake Tools侧边栏的「删除缓存并重新配置」,再执行构建即可。-DZ3_INCLUDE_DIR=[你的Z3安装路径]/include -DZ3_LIBRARY=[你的Z3安装路径]/lib/libz3.dylib方法2:修改项目CMakeLists.txt
打开SVF项目根目录的CMakeLists.txt,在文件最开头添加两行:
保存后重新配置CMake再构建。include_directories([你的Z3安装路径]/include) link_directories([你的Z3安装路径]/lib)方法3:添加环境变量
终端进入项目目录后执行以下命令,再手动执行CMake配置构建:export CPLUS_INCLUDE_PATH=[你的Z3安装路径]/include:$CPLUS_INCLUDE_PATH export LIBRARY_PATH=[你的Z3安装路径]/lib:$LIBRARY_PATH - 第三步:清空旧构建缓存
每次修改配置后一定要删除之前生成的Debug-build文件夹,避免旧缓存导致配置不生效,这是新手最容易忽略的问题。
内容的提问来源于stack exchange,提问作者kevincgreen
相关产品推荐
相关产品推荐

