我正在尝试在 firebreath 插件中使用 user32.dll 中的一些函数,但我终生无法弄清楚如何将库链接到我的项目。我尝试添加 find_library(USER32_LIBRARY user32) 和一些变体,如 user32.dll user32.lib,添加到 system32 的路径等。它一直说 USER32_LIBRARY 已定义但设置为 NOT_FOUND。
我还没有找到任何关于如何从 system32 文件夹链接库的好例子,有人有例子吗?
我正在尝试在 firebreath 插件中使用 user32.dll 中的一些函数,但我终生无法弄清楚如何将库链接到我的项目。我尝试添加 find_library(USER32_LIBRARY user32) 和一些变体,如 user32.dll user32.lib,添加到 system32 的路径等。它一直说 USER32_LIBRARY 已定义但设置为 NOT_FOUND。
我还没有找到任何关于如何从 system32 文件夹链接库的好例子,有人有例子吗?
正如谢尔盖所说,默认情况下 user32.lib 将在那里。
如果您需要任何其他库,您可以使用 target_link_library 命令添加库,如 firebreath.org 上的使用库页面中所述
target_link_libraries(${PROJECT_NAME} user32.lib)
同样,这对于 user32.lib 不是必需的,但可能对于其他库是必需的。
事实上,如果您正确安装它,您的 Microsoft Visual Studio 应该默认链接 user32.lib。
与 cmake find_library() 无关。CMake 是跨平台的 makefile 生成器,而您的问题是特定于 Windows 的。
更好的开始方式是MSDN 站点。
您可以手动修改项目属性以添加库名称和头文件路径。我已经修改了我的项目以添加 portaudio(第三方工具)。