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

时间:2010-06-12 18:28:04

标签: c++ cmake qmake

我有一个应用程序,其中使用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 lib?

对于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()

有可能做同样的事吗? 谢谢你。

2 个答案:

答案 0 :(得分:0)

请参阅CMake中的find_library命令。

答案 1 :(得分:0)

我已成功在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

:(