cmake - 为什么 cmake 不能使用 find_library 命令从 windows sdk 中找到库?
问题描述
我正在尝试让 cmake 从 windows sdk 中查找库。问题是尽管路径似乎没问题,但 cmake 找不到它们。我已尝试在自定义位置复制所需的库以查看这是否是问题但结果没有改变给我问题的代码如下
set("target" "imgcvt")
list(APPEND "${target}__library_directories"
"C:/Program Files (x86)/Windows Kits/10/Lib/10.0.18362.0/ucrt/x64/"
"C:/Program Files (x86)/Windows Kits/10/Lib/10.0.18362.0/um/x64/"
"C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/lib/x64/"
"D:/libraries/windows_sdk/x86")
message("THE INCLUDE PATH IS: ${${target}__library_directories}")
find_library("library__Ole32.lib__for_${target}" "Ole32.lib" PATHS "${${target}__library_directories}")
find_library("library__OleAut32.lib__for_${target}" "OleAut32.lib" PATHS "${${target}__library_directories}")
find_library("library__FontSub.lib__for_${target}" "FontSub.lib" PATHS "${${target}__library_directories}")
find_library("library__User32.lib__for_${target}" "User32.lib" PATHS "${${target}__library_directories}")
find_library("library__Usp10.lib__for_${target}" "Usp10.lib" PATHS "${${target}__library_directories}")
find_library("library__Gdi32.lib__for_${target}" "Gdi32.lib" PATHS "${${target}__library_directories}")
find_library("library__OpenGL32.lib__for_${target}" "OpenGL32.lib" PATHS "${${target}__library_directories}")
find_library("library__Advapi32.lib__for_${target}" "Advapi32.lib" PATHS "${${target}__library_directories}")
message("THE LIBRAY PATH Advapi32 FOR IS: ${library__Advapi32.lib__for_${target}}")
自定义文件夹位于“D:/libraries/windows_sdk/x86”中
现在这些消息用于调试目的。我努力了
- 无论有没有位于 D: 中的文件夹,但 Advapi32 的问题仍然存在。
- 在自定义位置也使用了包含各自库的 x86 和 x64 文件夹。
- 我试过 Advapi32.lib 有和没有.lib。
- 我已将其重命名为 sdk AdvAPI32.Lib 中的内容,但消息仍然相同
调试消息是
THE INCLUDE PATH IS: C:/Program Files (x86)/Windows Kits/10/Lib/10.0.18362.0/ucrt/x64/;C:/Program Files (x86)/Windows Kits/10/Lib/10.0.18362.0/um/x64/;C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.28.29910/lib/x64/;D:/libraries/windows_sdk/x86;D:/libraries/windows_sdk/x64
THE LIBRAY PATH Advapi32 FOR IS: library__Advapi32.lib__for_imgcvt-NOTFOUND
我的开发环境是:
- VSCode
- VSCode Cmake 插件
- 使用 clang 12 编译器
非常感谢任何帮助。
谢谢你。
解决方案
推荐阅读
- angular - Angular:材质按钮遵循标题大小
- python - 在 Windows 中安装 Pip Cryptography 的问题
- javascript - 如何根据电子邮件模式的输入状态禁用按钮?
- xamarin - 如何使框架内容尊重其角半径?
- python - 我可以将下载的压缩 shapefile 解压缩到内存中以上传到数据库吗?
- javascript - 存储在对象中时如何从模板文字中删除空格?
- react-native - React-Native:Azure Pipelines 中的任务失败,但在本地却没有
- java - 如何在 Exo Player 中使用查询参数?
- c# - Razor Pages 链接基于当前页面错误呈现
- angular - 为什么我的 SafeResourceUrl 在同一类的方法中未定义