Vb6 尝试构建geode native有3个错误

Vb6 尝试构建geode native有3个错误,vb6,gemfire,geode,Vb6,Gemfire,Geode,我正在根据生成geode native,并在生成过程中出错。我想知道是否有人能帮忙?我必须这样做,因为我需要一个VB6客户端,并且预构建的dll没有强签名,在.Net GAC中注册后,向VB6公开dll的COM接口会产生以下错误: 要构建一个强签名的geode本机客户端,我打开一个admin VS dev命令提示符并导航到一个自由目录,然后: git clone https://github.com/apache/geode-native.git cd geode-native mkdir bu

我正在根据生成geode native,并在生成过程中出错。我想知道是否有人能帮忙?我必须这样做,因为我需要一个VB6客户端,并且预构建的dll没有强签名,在.Net GAC中注册后,向VB6公开dll的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.cs22,7:错误CS0246:找不到类型或命名空间名称“NUnit”是否缺少using指令或程序集引用?[D:\geodenactivesc\geode native\build\tests\cli\DUnitFramework\DUnitFramework.csproj]

我已经尝试过直接安装Nunit并将其放在path变量上,但没有成功

然后是:D:\geodenativesc\geode native\src\tests\javaobject\GetFunctionExeHA.java:38:error:找不到符号

未将“MSBUILD-NOTFOUND”的可能问题识别为内部或外部命令、可操作程序或批处理文件

3个openSSL错误:

ms\uptable.asm1:错误A2088:文件[D:\GeodeNativeSrc\geode native\build\dependencies\openssl\openssl extern.vcxproj]末尾需要END指令

MASM:致命错误A1000:无法打开文件:tmp32dll.dbg\x86\u 64cpuid.asm[D:\geodenactivesrc\geode native\build\dependencies\openssl\openssl extern.vcxproj]

NMAKE:致命错误U1077:'C:\Program Files x86\Microsoft Visual Studio 14.0\VC\bin\x86\u amd64\ml64.EXE':返回代码“0x1”[D:\GeodEnablesRC\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错误通常表示未在Visual Studio命令提示符下运行CMake配置阶段。确保启动VS 2015 64位MSBuild命令提示符。在重试之前,应删除cmakcache.txt文件

3在配置设置强命名期间,可以向CMake发送-D标志-DSTRONG_NAME_KEY=/path/to/KEY应该可以做到这一点


4由于没有测地线的二进制分布,您打算使用GemFire吗?如果是这样,您应该联系GemFire支持部门并提出此问题。

cmake-DGEODE_ROOT=D:/Geode-build。似乎工作正常,没有错误,并生成了VS解决方案文件。。。现在VS项目将无法构建。非常感谢您的评论,尤其是2和3。非常感谢。实际上,对于1和4,我需要一个32位版本的geode在一个强签名的dll中,我可以通过COM向VB6应用程序公开它。。。在某个时候,我可能会像你所建议的那样,将此传递给关键支持。再次使用Thx。知道Cmake/m可选构建标志的作用吗?或者如何使Nunit framework进入构建路径?@rupweb/m标志用于MSBuild,以允许并行构建多个项目1 Pivotal不支持或发布任何32位GemFire。已知Geode Native以32位编译,但社区不支持。如果您试图在windows上编译32位,则必须使用32位VS 2105命令提示符。您还需要将-GVisual Studio 14设置为不使用Win64和-DBUILD_BITS=32。我们还发现,无论是否通过CMake使用MSBuild从命令行编译表单,都需要传递/p:Platform=x86。如果您成功地构建了32位版本,请考虑用您的进程来伪造和更新Buffudi.MD。@ JacobBarrett,当您点击并找到本地客户端时,生成的预构建的DLL被称为Pivotal.Gemfire.dll,如上面的1点,以及该问题的截图。