编译Windows库时,如何让CMake找到C:\icu下的ICU组件?
解决CMake找不到ICU库的问题
针对你遇到的CMake无法定位ICU(uc、i18n、data组件)的问题,以下几种方法可以告知CMake ICU的位置:
方法1:CMake命令行参数指定
在执行cmake配置项目时,直接通过参数传入ICU的根目录:
cmake -G "Visual Studio 16 2019" -A x64 -DICU_ROOT=C:\icu ..
如果需要更精确指定头文件和库路径,可以用:
cmake -G "Visual Studio 16 2019" -A x64 -DICU_INCLUDE_DIR=C:\icu\include -DICU_LIBRARY_DIR=C:\icu\lib64 ..
注意要匹配你下载的ICU版本架构(这里是Win64),所以cmake生成器要选x64平台。
方法2:设置系统环境变量
- 创建系统环境变量
ICU_ROOT,将其值设为C:\icu - 或者分别添加:
- 将
C:\icu\include加入INCLUDE环境变量 - 将
C:\icu\lib64加入LIB和PATH环境变量
- 将
- 配置完成后重启终端,再运行cmake命令
方法3:修改项目CMakeLists.txt(若有权限修改)
在项目中调用find_package(ICU)的代码之前,添加以下配置:
# 指定ICU根目录 set(ICU_ROOT "C:/icu") # 或者单独指定头文件和库目录 set(ICU_INCLUDE_DIR "C:/icu/include") set(ICU_LIBRARY_DIR "C:/icu/lib64")
内容的提问来源于stack exchange,提问作者Vladimir Bershov
相关产品推荐
相关产品推荐

