如何停止 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)
我有一个项目在静态库中同时使用 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)