0
运行此命令:cmake -DCMAKE_BUILD_TYPE=Debug -DENABLE_TESTING=OFF -DBUILD_ONLY="s3" -DFORCE_SHARED_CRT=OFF -DBUILD_SHARED_LIBS=OFF <aws-sdk-src>
能连到共享的libcurl,SSL库,你可以从(截)CMake的输出看到:如何静态链接libcurl,libssl,uuid库?
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8")
-- Zlib include directory: /usr/include
-- Zlib library: /usr/lib/x86_64-linux-gnu/libz.so
-- Encryption: Openssl
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so (found version "1.0.2g")
-- Openssl include directory: /usr/include
-- Openssl library: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so
-- Http client: Curl
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.47.0")
-- Curl include directory: /usr/include
-- Curl library: /usr/lib/x86_64-linux-gnu/libcurl.so
-- Considering s3
我怎么能强迫它,而不是链接libz.a,libcurl.a?
尝试了-DCMAKE_FIND_LIBRARY_SUFFIXES,但它不起作用。它仍然链接到共享库。没有错误。我验证了静态库存在于共享库旁边。 – cosmosb
您是否在重新运行cmake之前清除了缓存? – Tsyvarev
是的。我确定我开始干净。在使用-DCMAKE_FIND_LIBRARY_SUFFIXES选项运行命令之前,基本上删除了所有CMake生成的文件。 – cosmosb