Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 带OpenSSL的Axis2C-无OpenSSL\u APPLINK错误_Visual Studio 2008_Web Services_Visual C++_Openssl_Axis2c - Fatal编程技术网

Visual studio 2008 带OpenSSL的Axis2C-无OpenSSL\u APPLINK错误

Visual studio 2008 带OpenSSL的Axis2C-无OpenSSL\u APPLINK错误,visual-studio-2008,web-services,visual-c++,openssl,axis2c,Visual Studio 2008,Web Services,Visual C++,Openssl,Axis2c,我在VC++2008中使用Axis2C和OpenSSL访问https Web服务。 无论何时进行实际通信,我都会收到一个运行时致命异常: OPENSSL\u上行链路:没有OPENSSL\u APPLINK 我读到有几件事你应该做,比如在applink.c文件中链接到我的应用程序。我这样做了,(使用extern“C”),我还称之为CRYPTO_malloc_init。这两种方法都是无效的。。我有点迷路了 我还应该检查什么?还有,有人知道为什么axis2c有时会写入axis.log文件,有时则不写入

我在VC++2008中使用Axis2C和OpenSSL访问https Web服务。 无论何时进行实际通信,我都会收到一个运行时致命异常:

OPENSSL\u上行链路:没有OPENSSL\u APPLINK

我读到有几件事你应该做,比如在applink.c文件中链接到我的应用程序。我这样做了,(使用extern“C”),我还称之为CRYPTO_malloc_init。这两种方法都是无效的。。我有点迷路了

我还应该检查什么?还有,有人知道为什么axis2c有时会写入axis.log文件,有时则不写入

谢谢


Roey.

这可能是由于编译标志。 下面介绍如何在Windows上编译Axis2c+OpenSSL 64位

使用OpenSSL创建Axis2c 64位

版本:

  • Axis2c 1.6.0
  • OpenSSL 1.0.0d
先决条件:

  • Perl 5(64位版本)
Perl应该位于%PATH%系统环境变量中

OpenSSL

配置和编译OpenSSL:

cd <openssl_root_dir> (e.g. C:\tmp\openssl-1.0.0b)
perl Configure VC-WIN64A
ms\do_win64a
nmake -f ms\ntdll.mak
cd out32dll
..\ms\test
编译Axis2C cd\build\win32 nmake安装

所有必要的文件都被保存到以下文件夹中: \构建\部署


2个OpenSSL dll文件(libeay32.dll、ssleay32.dll)可能会手动复制到deploy\lib子文件夹。

这可能是由于编译标志。 下面介绍如何在Windows上编译Axis2c+OpenSSL 64位

使用OpenSSL创建Axis2c 64位

版本:

  • Axis2c 1.6.0
  • OpenSSL 1.0.0d
先决条件:

  • Perl 5(64位版本)
Perl应该位于%PATH%系统环境变量中

OpenSSL

配置和编译OpenSSL:

cd <openssl_root_dir> (e.g. C:\tmp\openssl-1.0.0b)
perl Configure VC-WIN64A
ms\do_win64a
nmake -f ms\ntdll.mak
cd out32dll
..\ms\test
编译Axis2C cd\build\win32 nmake安装

所有必要的文件都被保存到以下文件夹中: \构建\部署


2个OpenSSL dll文件(libeay32.dll,ssleay32.dll)可能会被手动复制到deploy\lib子文件夹。

我使用OpenSSL 1.0.1e(从为Win32预编译)时遇到类似问题

我不确定根本原因是什么,但当我使用VC的静态库而不是DLL库重建应用程序时,问题就消失了

换句话说,这里的这个库对我来说失败了:

C:\OpenSSL-Win32\lib\libeay32.lib
但是再次链接这个库成功了

C:\OpenSSL-Win32\lib\VC\static\libeay32MD.lib
这可能与其他库的不兼容性有关(请参阅)。据我所知,我的应用程序只使用了libeay32库


此外,它还与PEM的处理有关。我能够生成RSA密钥,但当我针对DLL而不是静态链接时,我无法编写它。

我遇到了类似的问题,使用OpenSSL 1.0.1e(从中为Win32预编译)

我不确定根本原因是什么,但当我使用VC的静态库而不是DLL库重建应用程序时,问题就消失了

换句话说,这里的这个库对我来说失败了:

C:\OpenSSL-Win32\lib\libeay32.lib
但是再次链接这个库成功了

C:\OpenSSL-Win32\lib\VC\static\libeay32MD.lib
这可能与其他库的不兼容性有关(请参阅)。据我所知,我的应用程序只使用了libeay32库

此外,它还与PEM的处理有关。我能够生成一个RSA密钥,但当我与DLL链接而不是静态链接时,我无法编写它。

根据:

根据0.9.8,对于.dll消除了上述限制。OpenSSL .dll使用特定的运行时选项编译[我们坚持 default/MD]可以与使用不同方法编译的应用程序一起部署 选项,甚至不同的编译器。但是有一个陷阱!而不是 重新编译OpenSSL toolkit,正如您必须使用之前的 版本,您必须使用编译器和/或 你可以选择。该代码段将按以下方式安装: /include/openssl/applink.c并应添加到 您的应用程序项目,或者干脆将-d包含在 您的应用程序源文件。未能将此垫片模块连接到 您的应用程序显示为致命的“无OPENSSL\u Applink” 运行时错误。在这种情况下,应明确提醒: [混合编译器选项]添加CRYPTO_malloc_init同样重要 在第一次调用OpenSSL之前

因此,只需将applink.c包含在您的项目中,即可享受

根据:

根据0.9.8,对于.dll消除了上述限制。OpenSSL .dll使用特定的运行时选项编译[我们坚持 default/MD]可以与使用不同方法编译的应用程序一起部署 选项,甚至不同的编译器。但是有一个陷阱!而不是 重新编译OpenSSL toolkit,正如您必须使用之前的 版本,您必须使用编译器和/或 你可以选择。该代码段将按以下方式安装: /include/openssl/applink.c并应添加到 您的应用程序项目,或者干脆将-d包含在 您的应用程序源文件。未能将此垫片模块连接到 您的应用程序显示为致命的“无OPENSSL\u Applink” 运行时错误。在这种情况下,应明确提醒: [混合编译器选项]添加CRYPTO_malloc_init同样重要 在第一次调用OpenSSL之前

因此,只需将applink.c包含在您的项目中,即可享受

+1表示“PEM处理”。这让我意识到我指向的是一个不存在的证书文件,这使得错误消失了+1表示“PEM处理”。这让我意识到我指向的是一个不存在的证书文件,这使得错误消失了!