尝试构建 geode native 有 3 个错误
trying to build geode native has 3 errors
我正在根据 https://github.com/apache/geode-native/blob/develop/BUILDING.md 构建 geode native,但在构建过程中出现错误。我想知道是否有人可以提供帮助?我必须这样做,因为我需要一个 VB6 客户端,并且预构建的 dll 没有经过强签名,在 .Net GAC 中注册后,将 dll 公开给 VB6 的 COM 接口会产生以下错误:
为了构建一个强签名的 geode 本机客户端,我打开一个 admin VS dev 命令提示符并导航到一个空闲目录,然后:
git clone https://github.com/apache/geode-native.git
cd geode-native
mkdir build
cd build
cmake -G "Visual Studio 14 2015 Win64" -DGEODE_ROOT=D:/Geode ../src
这很好用,所以我继续:
cmake --build . -- /m
有几个错误开头:
D:\GeodeNativeSrc\geode-native\src\tests\cli\DUnitFramework\ClientGroup.cs(22,7): error CS0246: The type or namespace name 'NUnit' could not be found (are you missing a using directive or an assembly reference?) [D:\GeodeNativeSrc\geode-native\build\tests\cli\DUnitFramework\DUnitFramework.csproj]
我试过直接安装 Nunit 并在路径变量上获取它,但没有成功。
然后是:D:\GeodeNativeSrc\geode-native\src\tests\javaobject\GetFunctionExeHA.java:38: error: cannot find symbol
'MSBUILD-NOTFOUND' is not recognized as an internal or external command, operable program or batch file
可能存在问题
3 个 openSSL 错误:
ms\uptable.asm(1): error A2088: END directive required at end of file [D:\GeodeNativeSrc\geode-native\build\dependencies\openssl\openssl-extern.vcxproj]
MASM : fatal error A1000: cannot open file : tmp32dll.dbg\x86_64cpuid.asm [D:\GeodeNativeSrc\geode-native\build\dependencies\openssl\openssl-extern.vcxproj]
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\ml64.EXE"' : return code '0x1' [D:\GeodeNativeSrc\geode-native\build\dependencies\openssl\openssl-extern.vcxproj]
我已经安装了 64 位 CMake 和 Cygwin,我在 Win 10 上使用 VS 2015 ...感谢任何评论
一些值得关注的事情。
1) 由于您正在构建开源 Geode,因此您不应使用 Pivotal.Gemfire 参考。 Geode 构建的程序集将是 Apache.Geode。
2) MSBUILD-NOTFOUND
错误通常表示 CMake 配置阶段不是 Visual Studio 命令提示符中的 运行。请务必启动 VS 2015 64 位 MSBuild 命令提示符。在重试之前,您应该删除 CMakeCache.txt 文件。
3) 您可以在配置期间向 CMake 发送 -D
标志以设置强命名。 -DSTRONG_NAME_KEY=/path/to/key
应该可以解决问题。
4) 由于没有 Geode 的二进制发行版,您打算使用 Pivotal GemFire 吗?如果是这样,您应该联系 GemFire 支持并提出此问题。
我正在根据 https://github.com/apache/geode-native/blob/develop/BUILDING.md 构建 geode native,但在构建过程中出现错误。我想知道是否有人可以提供帮助?我必须这样做,因为我需要一个 VB6 客户端,并且预构建的 dll 没有经过强签名,在 .Net GAC 中注册后,将 dll 公开给 VB6 的 COM 接口会产生以下错误:
为了构建一个强签名的 geode 本机客户端,我打开一个 admin VS dev 命令提示符并导航到一个空闲目录,然后:
git clone https://github.com/apache/geode-native.git
cd geode-native
mkdir build
cd build
cmake -G "Visual Studio 14 2015 Win64" -DGEODE_ROOT=D:/Geode ../src
这很好用,所以我继续:
cmake --build . -- /m
有几个错误开头:
D:\GeodeNativeSrc\geode-native\src\tests\cli\DUnitFramework\ClientGroup.cs(22,7): error CS0246: The type or namespace name 'NUnit' could not be found (are you missing a using directive or an assembly reference?) [D:\GeodeNativeSrc\geode-native\build\tests\cli\DUnitFramework\DUnitFramework.csproj]
我试过直接安装 Nunit 并在路径变量上获取它,但没有成功。
然后是:D:\GeodeNativeSrc\geode-native\src\tests\javaobject\GetFunctionExeHA.java:38: error: cannot find symbol
'MSBUILD-NOTFOUND' is not recognized as an internal or external command, operable program or batch file
3 个 openSSL 错误:
ms\uptable.asm(1): error A2088: END directive required at end of file [D:\GeodeNativeSrc\geode-native\build\dependencies\openssl\openssl-extern.vcxproj]
MASM : fatal error A1000: cannot open file : tmp32dll.dbg\x86_64cpuid.asm [D:\GeodeNativeSrc\geode-native\build\dependencies\openssl\openssl-extern.vcxproj]
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\x86_amd64\ml64.EXE"' : return code '0x1' [D:\GeodeNativeSrc\geode-native\build\dependencies\openssl\openssl-extern.vcxproj]
我已经安装了 64 位 CMake 和 Cygwin,我在 Win 10 上使用 VS 2015 ...感谢任何评论
一些值得关注的事情。
1) 由于您正在构建开源 Geode,因此您不应使用 Pivotal.Gemfire 参考。 Geode 构建的程序集将是 Apache.Geode。
2) MSBUILD-NOTFOUND
错误通常表示 CMake 配置阶段不是 Visual Studio 命令提示符中的 运行。请务必启动 VS 2015 64 位 MSBuild 命令提示符。在重试之前,您应该删除 CMakeCache.txt 文件。
3) 您可以在配置期间向 CMake 发送 -D
标志以设置强命名。 -DSTRONG_NAME_KEY=/path/to/key
应该可以解决问题。
4) 由于没有 Geode 的二进制发行版,您打算使用 Pivotal GemFire 吗?如果是这样,您应该联系 GemFire 支持并提出此问题。