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

VSCode+MinGW64环境下C++调用预编译OpenSSL出现链接错误求助

解决OpenSSL链接错误(MinGW64 + VS Code)

问题场景

已正确配置OpenSSL头文件路径,但编译C++代码时触发链接错误:

C:/Users/felix/my_future/PMS_Blockchain_CPP/pms_blockchain/src/Wallet.cpp:77: undefined reference to `EVP_PKEY_CTX_new_id'
collect2.exe: error: ld returned 1 exit status

使用环境为VS Code + MinGW64,当前tasks.json配置如下:

{
"tasks": [
  {
    "type": "cppbuild",
    "label": "C/C++: g++.exe build active file",
    "command": "C:\\msys64\\mingw64\\bin\\g++.exe",
    "args": [
      "-fdiagnostics-color=always",
      "-g",
      "${workspaceFolder}\\pms_blockchain\\src\\**.cpp",
      "${workspaceFolder}\\openssl\\**.h",
      "-o",
      "${workspaceFolder}\\${fileBasenameNoExtension}.exe"
    ],
    "options": {
      "cwd": "${fileDirname}"
    },
    "problemMatcher": ["$gcc"],
    "group": {
      "kind": "build",
      "isDefault": true
    },
    "detail": "Task generated by Debugger."
  }
],
"version": "2.0.0"
}

修复步骤

链接错误是因为编译时未关联OpenSSL的库文件,需修改tasks.json的编译参数:

  1. 移除无效参数:删除${workspaceFolder}\\openssl\\**.h,头文件无需作为编译输入,编译器会通过配置的头文件路径自动查找。
  2. 添加库链接参数:在args数组中加入OpenSSL核心库的链接指令,若库文件不在系统默认路径,需先通过-L指定库目录。

修改后的tasks.json

{
"tasks": [
  {
    "type": "cppbuild",
    "label": "C/C++: g++.exe build active file",
    "command": "C:\\msys64\\mingw64\\bin\\g++.exe",
    "args": [
      "-fdiagnostics-color=always",
      "-g",
      "${workspaceFolder}\\pms_blockchain\\src\\**.cpp",
      // 若OpenSSL库不在系统默认路径,取消下面一行注释并替换为实际库目录
      // "-L${workspaceFolder}\\openssl\\lib",
      "-lssl",
      "-lcrypto",
      "-o",
      "${workspaceFolder}\\${fileBasenameNoExtension}.exe"
    ],
    "options": {
      "cwd": "${fileDirname}"
    },
    "problemMatcher": ["$gcc"],
    "group": {
      "kind": "build",
      "isDefault": true
    },
    "detail": "Task generated by Debugger."
  }
],
"version": "2.0.0"
}

参数说明

  • -L<路径>:指定编译器查找库文件的目录,需替换为你的OpenSSLlib文件夹实际路径(若库已在系统环境变量路径中可省略)。
  • -lssl:链接OpenSSL的SSL库。
  • -lcrypto:链接OpenSSL的加密算法库。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 17:10:26