如何停止 cmake 添加 wxjpeg.lib 到 visual studio 项目?

How to stop cmake add wxjpeg.lib to visual studio project?

我有一个项目在静态库中同时使用 OpenCv 和 wxWidgets。这两个库有 jpeg 的定义,因此在编译过程中会产生冲突。

因为我没有使用 wxwidget 中的 jpeg,所以我想从我的应用程序中删除这个库。我测试了我的应用程序,如果我从 MSVC poroject 手动删除这个库,它运行良好。

在 cmake 中,我用这一行将 wxwidgets 添加到我的项目中:

set(wxWidgets_CONFIGURATION msvc)
find_package(wxWidgets COMPONENTS core base adv   REQUIRED)
include(${wxWidgets_USE_FILE})

如何指示 cmake 不将 wxjpeg.lib 添加到请求的链接库中?

根据这个 cmake 模块的文档 (link) 我会说添加

set(wxWidgets_EXCLUDE_COMMON_LIBRARIES TRUE)

在使用find_package命令之前就足以排除wxjpeg.lib。由于这也排除了其他公共库(例如 png),因此您可能必须在对 find_package

的调用中明确包含更多内容
find_package(wxWidgets COMPONENTS core base adv png REQUIRED)