在带有Windows和C编译器的64位系统上运行32位C代码

在带有Windows和C编译器的64位系统上运行32位C代码,c,linux,mingw,C,Linux,Mingw,我正在尝试使用64位MinGW编译器在我的Windows笔记本电脑上运行c代码。代码开头有几行直接指向其他文件,例如: #include <openssl/e_os2.h> #包括 编译代码时,会显示以下错误: C:\MinGW\bin\openssl\apps>gcc s_server.c s_server.c:21:27: fatal error: openssl/e_os2.h: No such file or directory #include <opens

我正在尝试使用64位MinGW编译器在我的Windows笔记本电脑上运行c代码。代码开头有几行直接指向其他文件,例如:

#include <openssl/e_os2.h>
#包括
编译代码时,会显示以下错误:

C:\MinGW\bin\openssl\apps>gcc s_server.c
s_server.c:21:27: fatal error: openssl/e_os2.h: No such file or directory
#include <openssl/e_os2.h>
                       ^
compilation terminated.
C:\MinGW\bin\openssl\apps>gcc s\u server.C
s_server.c:21:27:致命错误:openssl/e_os2.h:没有这样的文件或目录
#包括
^
编译终止。
我确保文件位于正确的位置,但是错误仍然发生。我认为发生错误是因为我在64位系统上运行32位二进制文件。鉴于我没有Linux系统,有没有办法解决这个问题

C:\MinGW\bin\openssl\apps>gcc s_server.c
s_server.c:21:27: fatal error: openssl/e_os2.h: No such file or directory
#include <openssl/e_os2.h>
                       ^
compilation terminated.
您可能会遇到其他问题,因为您需要链接到
libssl
libcrypto
。要知道你还有工作要做


以下是它在Linux上的外观:

openssl$ find . -name e_os2.h
./include/openssl/e_os2.h

openssl$ cd apps

apps$ ls ../include/openssl/e_os2.h
../include/openssl/e_os2.h
由于相对路径是
。/include/openssl/e_os2.h
和源文件
#include“openssl/e_os2.h”
,因此只需使用
-I
包含
。/include


我正在64位系统上运行32位二进制文件

您需要将OpenSSL构建为32位。运行
/Configure LIST
以获取MinGW目标的列表。然后,使用适当的三元组进行配置

您可能需要将
-m32
添加到程序的命令行中

您可能会遇到其他问题,因为您需要链接到
libssl
libcrypto
。要知道你还有工作要做


以下是它在Linux上的外观:

openssl$ find . -name e_os2.h
./include/openssl/e_os2.h

openssl$ cd apps

apps$ ls ../include/openssl/e_os2.h
../include/openssl/e_os2.h
由于相对路径是
。/include/openssl/e_os2.h
和源文件
#include“openssl/e_os2.h”
,因此只需使用
-I
包含
。/include


我正在64位系统上运行32位二进制文件

您需要将OpenSSL构建为32位。运行
/Configure LIST
以获取MinGW目标的列表。然后,使用适当的三元组进行配置


您可能需要将
-m32
添加到程序的命令行。

。VisualStudio社区。您到底想将openssl链接到什么?另请参阅它将带您完成作为独立程序编译新版本的
s_client.c
。你可能也会对它感兴趣。VisualStudio社区。您到底想将openssl链接到什么?另请参阅它将带您完成作为独立程序编译新版本的
s_client.c
。您可能还对e_os2.h文件感兴趣,该文件位于
apps/
外部的
include
文件夹中,但
apps/
内部有一个文件夹,也称为
include
。将e_os2.h文件从一个
include
文件夹复制并粘贴到
apps/
中的另一个文件夹是否有效?e_os2.h文件位于
apps/
外部的
include
文件夹中,但
apps/
内部有一个文件夹,也称为
include
。将e_os2.h文件从一个
include
文件夹复制并粘贴到
apps/
中的另一个文件夹是否有效?