我正在根据https://github.com/apache/geode-native/blob/develop/BUILDING.md构建原生地理编码,并在构建中获得错误。我想知道有没有人能帮上忙?我必须这样做,因为我需要一个VB6客户端,而且预构建的dll没有强签名,一个COM接口向VB6公开dll将在.Net GAC中注册后产生以下错误:

为了构建一个强签名的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,并在没有运气的情况下将它放到path变量上。
然后是: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 .谢谢您的评论
发布于 2017-07-26 16:35:05
几件值得关注的事。
1)由于您正在构建开源Geode,所以不应该使用Pivotal.Gemfire引用。Geode构建的程序集将是Apache.Geode。
2) MSBUILD-NOTFOUND错误通常表明Visual命令提示符中没有运行CMake配置阶段。确保启动VS 2015位64位MSBuild命令提示符。在重试之前,您应该删除CMakeCache.txt文件。
3)在配置过程中,可以将-D标志发送给CMake,以设置强命名。-DSTRONG_NAME_KEY=/path/to/key应该能做到这一点。
4)由于Geode没有二进制分布,您是否打算使用关键的GemFire?如果是这样的话,您应该联系GemFire支持并提出这个问题。
https://stackoverflow.com/questions/45321559
复制相似问题