使用 rvm 安装 ruby-2.1.2 时出错很少。我是 ruby 新手,因此需要帮助。请告诉我
安装日志和其他相关信息在这里:日志
从问题描述中提供的日志来看,我在系统中安装了 ruby 2.1.2。但是,gem list由于安装错误,尝试列出 gems 时出现错误。更改为 2.1.2 ie 后,rvm use 2.1.2执行ruby -r openssl -e 'puts OpensSSL::OPENSSL_VERSION'会出现此错误:
/Users/praveenk.k/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in require': 无法加载此类文件 -- openssl ( LoadError) 来自 /Users/praveenk.k/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:54:in require'
我想获取 http 站点证书链的所有证书。使用 openssl 连接到 http 站点并将输出存储到文件out.txt:
openssl s_client -connect www.openssl.org:443 -showcerts > out.txt
Run Code Online (Sandbox Code Playgroud)
out.txt的内容如下所示。它包含两个证书:
...
0 s:CN = www.openssl.org
i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
-----BEGIN CERTIFICATE-----
MIIFVTCCBD2gAwIBAgISAwk9QUiwVmoQAtcCLKybaK7yMA0GCSqGSIb3DQEBCwUA
...
mQBom1EISBOiNyu5koR6iRZcXsn6x/4kwA==
-----END CERTIFICATE-----
1 s:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
i:O = Digital Signature Trust Co., CN = DST Root CA X3
-----BEGIN CERTIFICATE-----
MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/
...
KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg==
-----END CERTIFICATE-----
---
...
Run Code Online (Sandbox Code Playgroud)
现在我想将每个证书存储在以扩展名 .cer …
对于连接到我的机器的设备,我想检索 device-property Bus Reported Device Description。为此,我使用了Setup API 的SetupDiGetDeviceProperty函数。在devpkey.h 中,我找到了定义DEVPKEY_Device_BusReportedDeviceDesc。
但是,如果我使用DEVPKEY_Device_BusReportedDeviceDesc,我会在链接时收到未解析的外部符号 _DEVPKEY_Device_BusReportedDeviceDesc。
这是我的代码(仅包含重现问题的最少代码):
#include "stdafx.h"
#include <Windows.h>
#include <devpropdef.h>
#include <devpkey.h>
int main()
{
DEVPROPKEY x = DEVPKEY_Device_BusReportedDeviceDesc;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这是完整的错误代码:
错误 LNK2001:未解析的外部符号 _DEVPKEY_Device_BusReportedDeviceDesc
我该如何解决这个问题?