如何 运行 Microsoft 的 32 位 FourQ 库?

How to run the FourQ lib by Microsoft at 32-Bit?

我想出了如何 运行 FourQ 在 64 位,但现在我想 运行 通过 32 位架构。首先,可以在 [1] 中找到该库。 我正在 运行 从 "FourQ_x64_and_portable" 目录中提取内容。如果我按照自述文件中的建议尝试命令:

make CC=gcc ARCH=x86

它会打印错误

FourQ_x64_and_portable>make CC=gcc ARCH=x86
gcc -c -O3        -D _X86_ -D __LINUX__         ecc_tests.c
In file included from FourQ_internal.h:25:0,
                 from ecc_tests.c:15:
FourQ.h:137:6: error: #error -- "Unsupported configuration"
     #error -- "Unsupported configuration"
      ^
In file included from ecc_tests.c:15:0:
FourQ_internal.h:39:6: error: #error -- "Unsupported configuration"
     #error -- "Unsupported configuration"
      ^
make: *** [ecc_tests.o] Error 1

嗯,这并不奇怪,我正在使用 Windows 10 x64 和 32 位和 64 位的 MinGW。我写了一个用于在 x64 和 x86 之间切换的批处理文件,因此,这不是问题。

如果我根据 fourQ.h 给出的建议修改 makefile,并为 OS 插入一个输入类型 (OS==WIN? OS=WINDOWS : OS=LINUX) 和 运行 又一次,结果是我再次出错。

FourQ_x64_and_portable>make CC=gcc OS=WIN ARCH=x86
gcc -c -O3        -D _X86_ -D WIN         ecc_tests.c
In file included from FourQ_internal.h:25:0,
                 from ecc_tests.c:15:
FourQ.h:39:6: error: #error -- "Unsupported OS"
     #error -- "Unsupported OS"
      ^
FourQ.h:137:6: error: #error -- "Unsupported configuration"
     #error -- "Unsupported configuration"
      ^
In file included from ecc_tests.c:15:0:
FourQ_internal.h:39:6: error: #error -- "Unsupported configuration"
     #error -- "Unsupported configuration"
      ^
make: *** [ecc_tests.o] Error 1

嗯,这看起来像,WINDOWS 不受支持。我已经在虚拟盒子里安装了 Ubuntu 并尝试再次编译,但最后一次,它显示了同样的错误。有任何解决此问题的建议吗?

顺便说一句。关于 gcc 的一些信息:

>gcc -v
Target: mingw32
[...]
Thread model: win32
gcc version 5.3.0 (GCC)

因为我想 运行 这段代码(最终)在 ARM Cortex M4 上,所以我可以使用 "arm-none-eabi-gcc" 而不是 "gcc" 进行交叉编译。为此,我在该 makefile 中添加了一个例程。

[1] https://www.microsoft.com/en-us/research/project/fourqlib/

答案是添加"GENERIC=TRUE"。这意味着我必须输入:

"make CC=gcc ARCH=x86 GENERIC=TRUE"

现在我可以针对 ARM 架构进行编译了。