Windows CMake不将静态库链接到其他静态库

Windows CMake不将静态库链接到其他静态库,windows,visual-studio,amazon-web-services,cmake,static-libraries,Windows,Visual Studio,Amazon Web Services,Cmake,Static Libraries,我正在创建一个静态库,它反过来又依赖于其他库。我正在Windows平台上创建此库。我是cmake的新手,但我尝试过这样做: set(Agent17_LIB Agent17Lib) add_library(${Agent17_LIB} "${PROJECT_SOURCE_DIR}/Agent17Lib.cpp") find_library(awscppiotsdklib aws-iot-sdk-cpp.lib ${PROJECT_SOURCE_DIR}/../Libs/aws-iot-devi

我正在创建一个静态库,它反过来又依赖于其他库。我正在Windows平台上创建此库。我是cmake的新手,但我尝试过这样做:

set(Agent17_LIB Agent17Lib)
add_library(${Agent17_LIB} "${PROJECT_SOURCE_DIR}/Agent17Lib.cpp")


find_library(awscppiotsdklib aws-iot-sdk-cpp.lib ${PROJECT_SOURCE_DIR}/../Libs/aws-iot-device-sdk-cpp/build-64/archive/Debug)
MESSAGE( STATUS "awscppiotsdklib path:         " ${awscppiotsdklib} )

find_library(awscppsdkcorelib aws-cpp-sdk-core.lib ${PROJECT_SOURCE_DIR}/../Libs/aws-cpp-sdk-core/Debug)
MESSAGE( STATUS "awscppsdkcorelib path:         " ${awscppsdkcorelib} )

find_library(awscppsdks3lib aws-cpp-sdk-s3.lib ${PROJECT_SOURCE_DIR}/../Libs/aws-cpp-sdk-s3/Debug)
MESSAGE( STATUS "awscppsdks3lib path:         " ${awscppsdks3lib} )

find_library(awscppsdkstslib aws-cpp-sdk-sts.lib ${PROJECT_SOURCE_DIR}/../Libs/aws-cpp-sdk-sts/Debug)
MESSAGE( STATUS "awscppsdkstslib path:         " ${awscppsdkstslib} )

find_library(libcurllib libcurld.lib ${PROJECT_SOURCE_DIR}/../Libs/Curl)
MESSAGE( STATUS "libcurllib path:         " ${libcurllib} )

find_library(ssleay32MDlib ssleay32MD.lib ${PROJECT_SOURCE_DIR}/../Libs/OpenSSL-Win64/lib/VC)
MESSAGE( STATUS "ssleay32MDlib path:         " ${ssleay32MDlib} )

find_library(libeay32MDlib libeay32MD.lib ${PROJECT_SOURCE_DIR}/../Libs/OpenSSL-Win64/lib/VC)
MESSAGE( STATUS "libeay32MDlib path:         " ${libeay32MDlib} )

target_link_libraries (${Agent17_LIB} awscppiotsdklib awscppsdkcorelib awscppsdks3lib awscppsdkstslib libcurllib ssleay32MDlib libeay32MDlib)
但是看起来我的目标库Agent17_库是在不包含其他库的情况下创建的

谢谢你的帮助。我被困在这一点上

我得到的结果是:

$ cmake -G "Visual Studio 15 2017 Win64" ../.
-- The CXX compiler identification is MSVC 19.13.26131.1
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe
-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.13.26128/bin/Hostx86/x64/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- awscppiotsdklib path: C:/Work/rits-git-working/Libs/aws-iot-device-sdk-cpp/build-64/archive/Debug/aws-iot-sdk-cpp.lib
-- awscppsdkcorelib path: C:/Work/rits-git-working/Libs/aws-cpp-sdk-core/Debug/aws-cpp-sdk-core.lib
-- awscppsdks3lib path: C:/Work/rits-git-working/Libs/aws-cpp-sdk-s3/Debug/aws-cpp-sdk-s3.lib
-- awscppsdkstslib path: C:/Work/rits-git-working/Libs/aws-cpp-sdk-sts/Debug/aws-cpp-sdk-sts.lib
-- libcurllib path: C:/Work/rits-git-working/Libs/Curl/libcurld.lib
-- ssleay32MDlib path: C:/Work/rits-git-working/Libs/OpenSSL-Win64/lib/VC/ssleay32MD.lib
-- libeay32MDlib path: C:/Work/rits-git-working/Libs/OpenSSL-Win64/lib/VC/libeay32MD.lib
-- CMAKE_BINARY_DIR path: C:/Work/rits-git-working/Agent17Lib/build
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Work/rits-git-working/Agent17Lib/build

cmake有没有办法更新VisualStudio项目属性的Library部分?如果我手动更新library部分,则我能够成功创建主库,但我无法确定如何从cmake更新library。

静态库实际上没有链接到其他库(这是编译器/链接器功能,不是cmake的功能)。如果希望将多个静态库合并到一个库中,则应使用特定的工具。请参见示例及其答案。@Tsyvarev-我已使用Visual studio创建了我的主库,并且我能够从测试应用程序中使用主库(已与其他库链接)。但是现在我想使用cmake执行同样的操作。target_link_libraries()不是用来将其他库链接到目标库的吗?在Visual studio中,我更新了“库管理员”选项卡的项目属性,并在其中添加了其他依赖项。