尝试构建geode native有3个错误

时间:2017-07-26 08:35:30

标签: vb6 gemfire geode

我正在根据https://github.com/apache/geode-native/blob/develop/BUILDING.md构建geode native并在构建中出错。我想知道是否有人可以帮忙?我必须这样做,因为我需要一个VB6客户端,并且预构建的dll没有强烈签名,在.Net GAC中注册后,将dll暴露给VB6的COM接口会产生以下错误:

enter image description here

要构建一个强签名的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 个答案:

答案 0 :(得分:1)

关注的事情。

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支持并提出此问题。