在 Windows 上编译 ITK 4.10.0 时出错

Error while compiling ITK 4.10.0 on Windows

我必须使用 InsightToolKit、DGTal 和 Armadillo 改进一个软件,因此我需要安装它们。 我对使用如此大的库的项目不熟悉,但直到这里我才设法理解我在做什么。

所以,我 运行 在 Windows 10 64 位下,我使用 CMake-GUI 来构建我的源代码。 这是我所做的: 使用 MinGW,我已经安装了 gcc 和 g++ 以及 gfortran 分别设置为 C、C++ 和 Fortran 的编译器。

现在我已经在 GUI 中将它们设置为编译器,我启动我的配置并且生成一个 makefile 没有问题(至少在 CMake 的文本框中没有红色消息),在 \bin 文件夹中构建源.

然后我使用了 mingw32-make.exe,大约 50%,编译因这些错误而停止(日志有点长所以我粘贴它 here,但都是这样的形式 :

ITK-4.10.0\Modules\ThirdParty\GDCM\src\gdcm\Source\Common\gdcmCAPICryptographicMessageSyntax.cxx: In member function 'virtual bool gdcm::CAPICryptographicMessageSyntax::ParseCertificateFile(const char*)':

或:

\gdcmCAPICryptographicMessageSyntax.cxx:62:54: error: 'CRYPT_STRING_BASE64_ANY' was not declared in this scope

我进行了一些搜索,但没有人遇到同样的问题。 我在另一台机器上试过,得到了同样的结果,建筑在这一点上停止了。我发现的唯一一件事是它来自 GDCM,ITK 需要它,但在最新版本中随附。我现在不知道怎么办。

有人知道吗?

解决方法如下:

使用 mingw64 代替 mingw32

Mingw64是另一个组开发的一个更兼容win64的工具。它工作正常。