Mac下使用CodeLite搭配wxWidgets时wx-config找不到、语言服务器报错
解决方案
根因说明
macOS平台下GUI应用默认不加载终端Shell的PATH配置,你编译安装的wx-config默认放在/usr/local/bin目录下,CodeLite运行时的PATH没有包含该路径,因此构建时找不到命令;同时语言服务器默认未添加wxWidgets的头文件搜索路径,因此提示头文件缺失。
构建报错修复
提供两种修复方案,按需选择即可:
方案1:单个项目快速修复
- 终端执行
which wx-config获取wx-config的绝对路径,默认输出为/usr/local/bin/wx-config - 打开对应wx项目的「项目设置」页面:
- 进入「编译器」tab,将所有
wx-config --cxxflags替换为绝对路径调用:/usr/local/bin/wx-config --cxxflags - 进入「链接器」tab,将所有
wx-config --libs相关的调用也替换为绝对路径版本
- 进入「编译器」tab,将所有
- 保存设置后重新构建即可生效。
方案2:全局生效(适用于所有wxWidgets项目)
- 打开CodeLite的全局首选项,找到「环境变量」配置页
- 新增一行配置:
PATH=$PATH:/usr/local/bin(如果你的wx-config不在该目录,替换为which wx-config输出的路径前缀即可) - 重启CodeLite后所有项目都可正常识别wx-config命令。
语言服务器头文件缺失修复
在项目根目录新建.clangd配置文件,写入以下内容即可:
CompileFlags: Add: - -I/usr/local/lib/wx/include/osx_cocoa-unicode-3.1 - -I/usr/local/include/wx-3.1 - -D_FILE_OFFSET_BITS=64 - -DwxDEBUG_LEVEL=0 - -DWXUSINGDLL - -D__WXMAC__ - -D__WXOSX__ - -D__WXOSX_COCOA__
保存后重启语言服务器即可识别所有wx相关头文件。
内容的提问来源于stack exchange,提问作者Thomas
相关产品推荐
相关产品推荐

