linux、openssl:32位的定义在哪里? 我不能在ASPROM分发,ARM核上编译C++的OpenSSL标题。openssl中的文件“bn.h”需要一些额外的定义。其中一个是三十二位。我不想手动定义它,因为我可能会忽略其他一些定义

linux、openssl:32位的定义在哪里? 我不能在ASPROM分发,ARM核上编译C++的OpenSSL标题。openssl中的文件“bn.h”需要一些额外的定义。其中一个是三十二位。我不想手动定义它,因为我可能会忽略其他一些定义,c++,linux,openssl,arm,angstrom-linux,C++,Linux,Openssl,Arm,Angstrom Linux,我应该包含哪些头文件来定义three\u-BIT并编译openssl头文件?通过谷歌搜索#define three\u-BIT生成的结果是opensslconf.h似乎定义了three\u-BIT,请参阅 32位的定义在哪里 其定义为基于平台的配置: $ cd <openssl src dir> $ grep -R THIRTY_TWO_BIT * ... Configure:"BS2000-OSD","c89:-O -XLLML -XLLMK -XL -DB_ENDIAN -DTE

我应该包含哪些头文件来定义
three\u-BIT
并编译openssl头文件?

通过谷歌搜索
#define three\u-BIT
生成的结果是
opensslconf.h
似乎定义了
three\u-BIT
,请参阅

32位的定义在哪里

其定义为基于平台的配置:

$ cd <openssl src dir>
$ grep -R THIRTY_TWO_BIT *
...
Configure:"BS2000-OSD","c89:-O -XLLML -XLLMK -XL -DB_ENDIAN -DTERMIOS -DCHARSET_EBCDIC::(unknown)::-lsocket -lnsl:THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR:::",
Configure:"OS390-Unix","c89.sh:-O -DB_ENDIAN -DCHARSET_EBCDIC -DNO_SYS_PARAM_H  -D_ALL_SOURCE::(unknown):::THIRTY_TWO_BIT DES_PTR DES_UNROLL MD2_CHAR RC4_INDEX RC4_CHAR BF_PTR:::",
Configure:"tandem-c89","c89:-Ww -D__TANDEM -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=1 -D_TANDEM_SOURCE -DB_ENDIAN::(unknown):::THIRTY_TWO_BIT:::",
...

我不能在ASPROM分发,ARM核上编译C++的OpenSSL标题。openssl中的文件“bn.h”需要一些额外的定义

您可以签入类似平台的
Configure
,然后为您的平台复制/添加/修改它。然后,运行
/Configure
,然后运行
make all

您的平台可能已经可用。没有埃,但有可用的ARM:

$ ./Configure
Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimental-<cipher> ...]
[-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared]
[[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [sctp] [386] [--prefix=DIR]
[--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]

pick os/compiler from:
BC-32 BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparcv8 
BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-pre1.3 DJGPP MPE/iX-gcc OS2-EMX 
OS390-Unix QNX6 QNX6-i386 ReliantUNIX SINIX SINIX-N UWIN VC-CE VC-WIN32 
VC-WIN64A VC-WIN64I aix-cc aix-gcc aix3-cc aix64-cc aix64-gcc android 
android-armv7 android-x86 aux3-gcc beos-x86-bone beos-x86-r5 bsdi-elf-gcc cc 
cray-j90 cray-t3e darwin-i386-cc darwin-ppc-cc darwin64-ppc-cc 
darwin64-x86_64-cc dgux-R3-gcc dgux-R4-gcc dgux-R4-x86-gcc dist gcc hpux-cc 
hpux-gcc hpux-ia64-cc hpux-ia64-gcc hpux-parisc-cc hpux-parisc-cc-o4 
hpux-parisc-gcc hpux-parisc1_1-cc hpux-parisc1_1-gcc hpux-parisc2-cc 
hpux-parisc2-gcc hpux64-ia64-cc hpux64-ia64-gcc hpux64-parisc2-cc 
hpux64-parisc2-gcc hurd-x86 iphoneos-cross irix-cc irix-gcc irix-mips3-cc 
irix-mips3-gcc irix64-mips4-cc irix64-mips4-gcc linux-alpha+bwx-ccc 
linux-alpha+bwx-gcc linux-alpha-ccc linux-alpha-gcc linux-aout linux-armv4 
linux-elf linux-generic32 linux-generic64 linux-ia32-icc linux-ia64 
linux-ia64-ecc linux-ia64-icc linux-ppc linux-ppc64 linux-sparcv8 
linux-sparcv9 linux-x86_64 linux32-s390x linux64-s390x linux64-sparcv9 mingw 
mingw64 ncr-scde netware-clib netware-clib-bsdsock netware-clib-bsdsock-gcc 
netware-clib-gcc netware-libc netware-libc-bsdsock netware-libc-bsdsock-gcc 
netware-libc-gcc newsos4-gcc nextstep nextstep3.3 osf1-alpha-cc osf1-alpha-gcc 
purify qnx4 rhapsody-ppc-cc sco5-cc sco5-gcc solaris-sparcv7-cc 
solaris-sparcv7-gcc solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc 
solaris-sparcv9-gcc solaris-x86-cc solaris-x86-gcc solaris64-sparcv9-cc 
solaris64-sparcv9-gcc solaris64-x86_64-cc solaris64-x86_64-gcc sunos-gcc 
tandem-c89 tru64-alpha-cc uClinux-dist uClinux-dist64 ultrix-cc ultrix-gcc 
unixware-2.0 unixware-2.1 unixware-7 unixware-7-gcc vos-gcc vxworks-mips 
vxworks-ppc405 vxworks-ppc60x vxworks-ppc750 vxworks-ppc750-debug 
vxworks-ppc860 vxworks-ppcgen vxworks-simlinux ...
$。/配置
用法:配置[否-…][启用-…][实验-…]
[-Dxxx][-lxxx][-lxxx][-fxxx][-Kxxx][no-hw xxx | no-hw][[no-]线程][[no-]共享]
[no-]zlib | zlib dynamic][no-asm][no-dso][no-krb5][sctp][386][--prefix=DIR]
[--openssldir=openssldir][--with xxx[=vvv][--test sanity]os/compiler[:flags]
从以下位置选择操作系统/编译器:
BC-32 BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparc64 BSD-sparcv8
BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-pre1.3 DJGPP MPE/iX gcc OS2-EMX
OS390 Unix QNX6 QNX6-i386 ReliantUNIX SINIX SINIX-N UWIN VC-CE VC-WIN32
VC-WIN64A VC-WIN64I aix cc aix gcc aix3 cc aix64 cc aix64 gcc android
android-armv7 android-x86 aux3 gcc beos-x86-bone beos-x86-r5 bsdi elf gcc cc
cray-j90 cray-t3e darwin-i386-cc darwin ppc cc darwin64 ppc cc
达尔文64-x86_64-cc dgux-R3-gcc dgux-R4-gcc dgux-R4-x86-gcc区gcc hpux cc
hpux gcc hpux-ia64-cc hpux-ia64-gcc hpux parisc cc hpux-parisc-cc-o4
hpux parisc gcc hpux-parisc1_1-cc hpux-parisc1_1-gcc hpux-parisc2-cc
hpux-parisc2-gcc hpux64-ia64-cc hpux64-ia64-gcc hpux64-parisc2-cc
hpux64-parisc2-gcc hurd-x86 iphoneos cross-irix cc irix gcc irix-mips3-cc
irix-mips3-gcc irix64-mips4-cc irix64-mips4-gcc linux alpha+bwx ccc
linux alpha+bwx gcc linux alpha ccc linux alpha gcc linux aout linux-armv4
linux elf linux-generic32 linux-generic64 linux-ia32-icc linux-ia64
linux-ia64-ecc linux-ia64-icc linux ppc linux-ppc64 linux-sparcv8
linux-sparcv9 linux-x86_64 linux32-s390x linux64-s390x linux64-sparcv9 mingw
mingw64 ncr scde netware clib netware clib bsdsock netware clib bsdsock gcc
netware clib gcc netware libc netware libc bsdsock netware libc bsdsock gcc
netware libc gcc newsos4 gcc nextstep nextstep 3.3 osf1 alpha cc osf1 alpha gcc
purify qnx4 rhapsody ppc cc sco5 cc sco5 gcc solaris-sparcv7-cc
solaris-sparcv7-gcc solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc
solaris-sparcv9-gcc solaris-x86-cc solaris-x86-gcc solaris64-sparcv9-cc
solaris64-sparcv9-gcc solaris64-x86_64-cc solaris64-x86_64-gcc sunos gcc
tandem-c89 tru64 alpha cc uClinux dist uClinux-dist64 ultrix cc ultrix gcc
unixware-2.0 unixware-2.1 unixware-7 unixware-7-gcc vos gcc vxworks mips
vxworks-ppc405 vxworks-ppc60x vxworks-ppc750 vxworks-ppc750-debug
vxworks-ppc860 vxworks ppcgen vxworks simlinux。。。

它仅在定义(页眉)和时才准确
!已定义(配置标题)
。在我的PC上,ubuntu在QTcreator中,这部分显示为浅灰色,表明它没有定义,因此似乎这个片段是在其他地方定义的。@kirill这基本上意味着OpenSSL
Configure
脚本弄乱了宏定义。但是,这些宏定义在嵌入式ARM设备上可能完全不同。32位甚至可能指x86…@kirill例如,如果你有一台64位PC,从定义的名称判断,我会假设
32位
不会被定义,这将是理想的行为。我实际上链接了错误的库,所以是的,配置错误
$ ./Configure
Usage: Configure [no-<cipher> ...] [enable-<cipher> ...] [experimental-<cipher> ...]
[-Dxxx] [-lxxx] [-Lxxx] [-fxxx] [-Kxxx] [no-hw-xxx|no-hw] [[no-]threads] [[no-]shared]
[[no-]zlib|zlib-dynamic] [no-asm] [no-dso] [no-krb5] [sctp] [386] [--prefix=DIR]
[--openssldir=OPENSSLDIR] [--with-xxx[=vvv]] [--test-sanity] os/compiler[:flags]

pick os/compiler from:
BC-32 BS2000-OSD BSD-generic32 BSD-generic64 BSD-ia64 BSD-sparc64 BSD-sparcv8 
BSD-x86 BSD-x86-elf BSD-x86_64 Cygwin Cygwin-pre1.3 DJGPP MPE/iX-gcc OS2-EMX 
OS390-Unix QNX6 QNX6-i386 ReliantUNIX SINIX SINIX-N UWIN VC-CE VC-WIN32 
VC-WIN64A VC-WIN64I aix-cc aix-gcc aix3-cc aix64-cc aix64-gcc android 
android-armv7 android-x86 aux3-gcc beos-x86-bone beos-x86-r5 bsdi-elf-gcc cc 
cray-j90 cray-t3e darwin-i386-cc darwin-ppc-cc darwin64-ppc-cc 
darwin64-x86_64-cc dgux-R3-gcc dgux-R4-gcc dgux-R4-x86-gcc dist gcc hpux-cc 
hpux-gcc hpux-ia64-cc hpux-ia64-gcc hpux-parisc-cc hpux-parisc-cc-o4 
hpux-parisc-gcc hpux-parisc1_1-cc hpux-parisc1_1-gcc hpux-parisc2-cc 
hpux-parisc2-gcc hpux64-ia64-cc hpux64-ia64-gcc hpux64-parisc2-cc 
hpux64-parisc2-gcc hurd-x86 iphoneos-cross irix-cc irix-gcc irix-mips3-cc 
irix-mips3-gcc irix64-mips4-cc irix64-mips4-gcc linux-alpha+bwx-ccc 
linux-alpha+bwx-gcc linux-alpha-ccc linux-alpha-gcc linux-aout linux-armv4 
linux-elf linux-generic32 linux-generic64 linux-ia32-icc linux-ia64 
linux-ia64-ecc linux-ia64-icc linux-ppc linux-ppc64 linux-sparcv8 
linux-sparcv9 linux-x86_64 linux32-s390x linux64-s390x linux64-sparcv9 mingw 
mingw64 ncr-scde netware-clib netware-clib-bsdsock netware-clib-bsdsock-gcc 
netware-clib-gcc netware-libc netware-libc-bsdsock netware-libc-bsdsock-gcc 
netware-libc-gcc newsos4-gcc nextstep nextstep3.3 osf1-alpha-cc osf1-alpha-gcc 
purify qnx4 rhapsody-ppc-cc sco5-cc sco5-gcc solaris-sparcv7-cc 
solaris-sparcv7-gcc solaris-sparcv8-cc solaris-sparcv8-gcc solaris-sparcv9-cc 
solaris-sparcv9-gcc solaris-x86-cc solaris-x86-gcc solaris64-sparcv9-cc 
solaris64-sparcv9-gcc solaris64-x86_64-cc solaris64-x86_64-gcc sunos-gcc 
tandem-c89 tru64-alpha-cc uClinux-dist uClinux-dist64 ultrix-cc ultrix-gcc 
unixware-2.0 unixware-2.1 unixware-7 unixware-7-gcc vos-gcc vxworks-mips 
vxworks-ppc405 vxworks-ppc60x vxworks-ppc750 vxworks-ppc750-debug 
vxworks-ppc860 vxworks-ppcgen vxworks-simlinux ...