You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows 10的CLion中构建、安装并使用Crypto++ 8.6.0?

Windows 10 CLion MinGW 环境配置 Crypto++ 8.6.0 方案

编译适配MinGW的Crypto++静态库

  • 下载Crypto++ 8.6.0官方源码,解压到无中文、无空格的本地路径(例如C:\dev\cryptopp860)
  • 打开和CLion项目使用的完全一致的MinGW终端,进入源码解压目录,执行编译命令:
mingw32-make static -j8
  • 编译完成后,源码目录会生成libcryptopp.a静态库文件,所有.h后缀的文件为所需头文件。

项目CMake配置

你之前链接报错的核心原因是没有给CMake指定头文件、库文件的搜索路径,且可能误用了MSVC编译的.lib文件(MinGW链接器无法识别MSVC生成的静态库),按下面的规则修改CMakeLists.txt即可:

cmake_minimum_required(VERSION 3.15)
project(MyApp)

set(CMAKE_CXX_STANDARD 17)

# 替换为你自己的Crypto++源码路径,或者你将头文件存放到项目内的路径
include_directories(C:/dev/cryptopp860)
# 替换为你自己的libcryptopp.a所在的路径
link_directories(C:/dev/cryptopp860)

add_executable(MyApp main.cpp)
# MinGW下链接libcryptopp.a只需写库名cryptopp,不需要加前缀lib和后缀.a
target_link_libraries(MyApp cryptopp)

验证示例

你可以在main.cpp中加入以下代码验证配置是否生效:

#include <iostream>
#include <sha.h>
#include <hex.h>

int main() {
    CryptoPP::SHA256 hash;
    byte digest[CryptoPP::SHA256::DIGESTSIZE];
    std::string str = "test crypto++";
    hash.CalculateDigest(digest, (const byte*)str.c_str(), str.size());

    CryptoPP::HexEncoder encoder;
    std::string output;
    encoder.Attach(new CryptoPP::StringSink(output));
    encoder.Put(digest, sizeof(digest));
    encoder.MessageEnd();

    std::cout << "SHA256 result: " << output << std::endl;
    return 0;
}

如果正常编译运行输出哈希值,说明配置成功。

内容的提问来源于stack exchange,提问作者RonaldoCodes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 21:48:03