如何解决CMake构建库而无需依赖target_link_libraries在这种情况下为wxWidgets
下面是一个有效的CMakeLists.txt,该应用程序仅显示一个wxWidget框架。
如果target_link_libraries
被删除,它将无法生成。
cmake_minimum_required(VERSION 3.5)
project(TestCMake LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_definitions(-DBOOST_ASIO_DISABLE_CONCEPTS)
set(CMAKE_DEBUG_POSTFIX "-d")
set(CMAKE_INSTALL_PREFIX "/usr/local")
find_package(wxWidgets REQUIRED core base)
include(${wxWidgets_USE_FILE})
include_directories(.
..
${wxWidgets_INCLUDE_DIRS})
file(GLOB_RECURSE header_files *.h)
file(GLOB_RECURSE source_files *.cpp)
add_executable(TestCMake ${header_files} ${source_files})
target_link_libraries(TestCMake ${wxWidgets_LIBRARIES})
现在更改最后两行,如下所示。
没有target_link_libraries
,但是可以成功构建,为什么?
cmake_minimum_required(VERSION 3.5)
project(TestCMake LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_definitions(-DBOOST_ASIO_DISABLE_CONCEPTS)
set(CMAKE_DEBUG_POSTFIX "-d")
set(CMAKE_INSTALL_PREFIX "/usr/local")
find_package(wxWidgets REQUIRED core base)
include(${wxWidgets_USE_FILE})
include_directories(.
..
${wxWidgets_INCLUDE_DIRS})
file(GLOB_RECURSE header_files *.h)
file(GLOB_RECURSE source_files *.cpp)
add_library(TestCMake ${header_files} ${source_files})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。