gpt4 book ai didi

windows - CMake 在 64 位平台上找到 32 位 GDI+

转载 作者:可可西里 更新时间:2023-11-01 10:34:49 25 4
gpt4 key购买 nike

我想构建一个在 32 位和 64 位 Windows 上都需要 GDI+ 的程序。我正在使用 CMake 3.3.2、Windows 10 64 位、Visual Studio 2015。作为最小情况,我有这个 CMakeLists.txt:

cmake_minimum_required(VERSION 3.3)
find_library(GDIP gdiplus)

我在 build 子目录中运行它作为

cmake ..

cmake -A x64 ..

如果我比较两次运行的 CMakeCache.txt,我发现它肯定选择了 32 位或 64 位选项(例如对于 CMAKE_LINKER)但它找到了 32 位 gdiplus.lib 在这两种情况下

//Path to a library.
GDIP:FILEPATH=C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x86/gdiplus.lib

它应该找到 64 位版本 C:/Program Files (x86)/Windows Kits/8.1/Lib/winv6.3/um/x64/gdiplus.lib

有没有办法解决这个问题?

最佳答案

我在 CMake 邮件列表上询问过。我感谢谢尔盖·尼库洛夫 (Sergei Nikulov) 的回答: http://public.kitware.com/pipermail/cmake/2015-October/061806.html

One idea, how I've created workaround it for odbc lib: Remove find_library(GDIPLUS_LIBRARY NAMES libgdiplus gdiplus) and set(GDIPLUS_LIBRARY gdiplus) or another proper name. Visual studio will pick it from proper path depending on target x86 or x86_64."

我不认为这是理想的,但它确实有效。谢谢谢尔盖。

关于windows - CMake 在 64 位平台上找到 32 位 GDI+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33124745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com