使用 Cmake 和/或 qmake 查找 Microsoft SDK (psapi.lib)

发布于 2024-09-05 14:39:28 字数 766 浏览 2 评论 0原文

我有一个使用 Qt 4.6 和 Microsoft SDK(Psapi.Lib)的应用程序。

我使用 cmake 或 qmake 来构建。

对于 qmake 和 cmake,我在硬中指定了 Psapi.lib 的路径。

qmake :

win32 {
    LIBS += "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\Psapi.Lib"
}

cmake :

SET(PSAPI "C:/Program Files/Microsoft SDKs/Windows/v7.0A/Lib/Psapi.Lib")

但我想避免困难路径,有什么方法可以搜索 SDK 库吗?

对于linux,搜索没有问题:

qmake :

unix {
    CONFIG += link_pkgconfig
    PKGCONFIG += xmu
}

cmake :

IF(UNIX)
  INCLUDE(FindPkgConfig)
  PKG_CHECK_MODULES(XMU xmu REQUIRED)
  INCLUDE_DIRECTORIES(${XMU_INCLUDE_DIR})
  LINK_DIRECTORIES(${XMU_LIBRARY_DIRS})
ENDIF()

可以做同样的事情吗? 感谢您。

i have an application where is use Qt 4.6 and Microsoft SDKs (the Psapi.Lib).

I use cmake or qmake to build.

For qmake and cmake i specify in hard the path of the Psapi.lib.

qmake :

win32 {
    LIBS += "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib\Psapi.Lib"
}

cmake :

SET(PSAPI "C:/Program Files/Microsoft SDKs/Windows/v7.0A/Lib/Psapi.Lib")

But i want to avoid the hard path, is there is any way to search the SDK lib ?

For linux, there is no problem to search :

qmake :

unix {
    CONFIG += link_pkgconfig
    PKGCONFIG += xmu
}

cmake :

IF(UNIX)
  INCLUDE(FindPkgConfig)
  PKG_CHECK_MODULES(XMU xmu REQUIRED)
  INCLUDE_DIRECTORIES(${XMU_INCLUDE_DIR})
  LINK_DIRECTORIES(${XMU_LIBRARY_DIRS})
ENDIF()

It's possible to make the same ?
Thanks you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

怎会甘心 2024-09-12 14:39:28

请参阅 CMake 中的 find_library 命令。

See find_library command in CMake.

云朵有点甜 2024-09-12 14:39:28

我已经成功地在 Windows 7 上找到了 Psapi.Lib,

find_library (PSAPI Psapi)

但我在找到正确的体系结构时遇到了困难。它总是找到 x32 版本:

find_library (PSAPI Psapi PATH_SUFFIXES "x64")
message (STATUS "PSAPI: ${PSAPI}")
> -- PSAPI: C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86/Psapi.Lib

:(

I have succeeded in finding Psapi.Lib on a Windows 7 with the following:

find_library (PSAPI Psapi)

but I'm having trouble making it find for the proper architecture. It always find the x32 version:

find_library (PSAPI Psapi PATH_SUFFIXES "x64")
message (STATUS "PSAPI: ${PSAPI}")
> -- PSAPI: C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86/Psapi.Lib

:(

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文