libegit2
libegit2 copied to clipboard
Compile error on windows in VS2017 CMD prompt
- CMAKE config seems missing ssh and some other lib
C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build>cmake .. -- Building for: Visual Studio 15 2017 -- Selecting Windows SDK version 10.0.17134.0 to target Windows 6.1.7601. -- The C compiler identification is MSVC 19.15.26729.0 -- Check for working C compiler: G:/vs2017/VC/Tools/MSVC/14.15.26726/bin/Hostx86/x86/cl.exe -- Check for working C compiler: G:/vs2017/VC/Tools/MSVC/14.15.26726/bin/Hostx86/x86/cl.exe -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- The CXX compiler identification is MSVC 19.15.26729.0 -- Check for working CXX compiler: G:/vs2017/VC/Tools/MSVC/14.15.26726/bin/Hostx86/x86/cl.exe -- Check for working CXX compiler: G:/vs2017/VC/Tools/MSVC/14.15.26726/bin/Hostx86/x86/cl.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) -- Looking for pthread.h -- Looking for pthread.h - not found -- Found Threads: TRUE -- Performing Test HAVE_STRUCT_STAT_ST_MTIM -- Performing Test HAVE_STRUCT_STAT_ST_MTIM - Failed -- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC -- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC - Failed -- Performing Test HAVE_STRUCT_STAT_MTIME_NSEC -- Performing Test HAVE_STRUCT_STAT_MTIME_NSEC - Failed -- Looking for regcomp_l -- Looking for regcomp_l - not found -- Looking for futimens -- Looking for futimens - not found -- Checking prototype qsort_r for HAVE_QSORT_R_BSD - False -- Checking prototype qsort_r for HAVE_QSORT_R_GNU - False -- Looking for qsort_s -- Looking for qsort_s - found -- Looking for clock_gettime in rt -- Looking for clock_gettime in rt - not found -- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY OPENSSL_INCLUDE_DIR) -- Could NOT find HTTP_Parser (missing: HTTP_PARSER_INCLUDE_DIR HTTP_PARSER_LIBRARY) -- http-parser version 2 was not found or disabled; using bundled 3rd-party sources. -- Performing Test IS_WIMPLICIT-FALLTHROUGH=1_SUPPORTED -- Performing Test IS_WIMPLICIT-FALLTHROUGH=1_SUPPORTED - Failed -- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR) -- zlib was not found; using bundled 3rd-party sources. -- LIBSSH2 not found. Set CMAKE_PREFIX_PATH if it is installed outside of the default search path. -- Enabled features:
- threadsafe, threadsafe support
- HTTPS, using WinHTTP
- SHA, using CollisionDetection
- http-parser, http-parser support (bundled)
- zlib, using bundled zlib
-- Disabled features:
- debugpool, debug pool allocator
- tracing, tracing support
- SSH, SSH transport support
- SPNEGO, SPNEGO authentication support
- iconv, iconv encoding conversion support
-- Configuring done -- Generating done -- Build files have been written to: C:/Users/me/AppData/Roaming/.emacs.d/site-lisp/libegit2/build
- build failed with some errors when build egit2 project
已完成生成项目“C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj”(默认目标)的操作 - 失败。
已完成生成项目“C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\ALL_BUILD.vcxproj”(默认目标)的操作 - 失败。
生成失败。
“C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\ALL_BUILD.vcxproj”(默认目标) (1) -> “C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj”(默认目标) (3) -> “C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2.vcxproj”(默认目标) (4) -> “C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj”(默认目标) (5) -> (ClCompile 目标) -> c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\attr_file.c(129): warning C4244: “函数”: 从“git_off_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\blob.c(42): warning C4244: “函数”: 从“git_off_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\blob.c(397): warning C4244: “函数”: 从“git_off_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\diff.c(389): warning C4244: “=”: 从“unsigned short”转换到“unsigned char”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\diff_generate.c(569): warning C4244: “=”: 从“git_off_t”转换到“uint32_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\diff_stats.c(61): warning C4244: “=”: 从“const git_off_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\diff_stats.c(62): warning C4244: “=”: 从“const git_off_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\index.c(2478): warning C4244: “=”: 从“uintmax_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\iterator.c(1488): warning C4244: “=”: 从“time_t”转换到“int32_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\iterator.c(1489): warning C4244: “=”: 从“time_t”转换到“int32_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\iterator.c(1504): warning C4244: “=”: 从“__int64”转换到“uint32_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\notes.c(332): warning C4244: “函数”: 从“git_off_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\odb.c(391): warning C4244: “函数”: 从“git_off_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\odb.c(399): warning C4244: “=”: 从“git_off_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\odb.c(401): warning C4244: “函数”: 从“git_off_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\odb_loose.c(186): warning C4244: “=”: 从“int64_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\patch_parse.c(285): warning C4244: “=”: 从“int64_t”转换到“uint16_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\reader.c(39): warning C4244: “函数”: 从“git_off_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\tree.c(418): warning C4267: “=”: 从“size_t”转换到“uint16_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\libgit2\src\win32\posix_w32.c(400): warning C4101: “target_p”: 未引用的局部变量 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\libgit2\src\git2internal.vcxproj]
“C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\ALL_BUILD.vcxproj”(默认目标) (1) -> “C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj”(默认目标) (3) -> c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-blame.c(45): warning C4244: “=”: 从“intmax_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-blame.c(49): warning C4244: “=”: 从“intmax_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-blob.c(169): warning C4244: “函数”: 从“git_off_t”转换到“ptrdiff_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-commit.c(119): warning C4244: “函数”: 从“intmax_t”转换到“unsigned int”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-commit.c(143): warning C4244: “函数”: 从“intmax_t”转换到“unsigned int”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-commit.c(157): warning C4244: “函数”: 从“intmax_t”转换到“unsigned int”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-describe.c(38): warning C4244: “=”: 从“intmax_t”转换到“unsigned int”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-describe.c(41): warning C4133: “函数”: 从“unsigned int *”到“git_describe_strategy_t *”的类型不兼容 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-describe.c(54): warning C4244: “=”: 从“intmax_t”转换到“unsigned int”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-diff.c(104): warning C4244: “=”: 从“intmax_t”转换到“uint32_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-diff.c(108): warning C4244: “=”: 从“intmax_t”转换到“uint32_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-diff.c(112): warning C4244: “=”: 从“intmax_t”转换到“uint16_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-diff.c(747): warning C4244: “函数”: 从“intmax_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-index.c(146): warning C4244: “函数”: 从“intmax_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-message.c(20): warning C4244: “=”: 从“intmax_t”转换到“char”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(96): warning C4133: “函数”: 从“unsigned int *”到“git_checkout_strategy_t *”的类型不兼容 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(136): warning C4047: “=”:“git_checkout_notify_cb”与“int *”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(178): warning C4244: “=”: 从“intmax_t”转换到“unsigned int”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(180): warning C4244: “=”: 从“intmax_t”转换到“unsigned int”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(182): warning C4244: “=”: 从“intmax_t”转换到“unsigned int”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(519): warning C4244: “=”: 从“intmax_t”转换到“unsigned int”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-pathspec.c(87): warning C4244: “初始化”: 从“intmax_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-pathspec.c(106): warning C4244: “初始化”: 从“intmax_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-pathspec.c(136): warning C4244: “初始化”: 从“intmax_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-reflog.c(41): warning C4244: “初始化”: 从“intmax_t”转换到“ptrdiff_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-reflog.c(155): warning C4244: “初始化”: 从“intmax_t”转换到“ptrdiff_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-remote.c(76): warning C4244: “函数”: 从“intmax_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-signature.c(51): warning C4244: “函数”: 从“intmax_t”转换到“int”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-tree.c(92): warning C4244: “函数”: 从“intmax_t”转换到“size_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(369): warning C4113: “emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”和“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”的参数列表不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(369): warning C4047: “函数”:“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”与“emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(369): warning C4024: “通过指针的函数”: 形参和实参 4 的类型不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(370): warning C4113: “emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”和“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”的参数列表不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(370): warning C4047: “函数”:“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”与“emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(370): warning C4024: “通过指针的函数”: 形参和实参 4 的类型不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(371): warning C4113: “emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”和“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”的参数列表不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(371): warning C4047: “函数”:“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”与“emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(371): warning C4024: “通过指针的函数”: 形参和实参 4 的类型不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(413): warning C4113: “emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”和“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”的参数列表不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(413): warning C4047: “函数”:“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”与“emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(413): warning C4024: “通过指针的函数”: 形参和实参 4 的类型不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(498): warning C4113: “emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”和“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”的参数列表不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(498): warning C4047: “函数”:“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”与“emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(498): warning C4024: “通过指针的函数”: 形参和实参 4 的类型不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(499): warning C4113: “emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”和“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”的参数列表不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(499): warning C4047: “函数”:“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”与“emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(499): warning C4024: “通过指针的函数”: 形参和实参 4 的类型不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(519): warning C4113: “emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”和“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”的参数列表不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(519): warning C4047: “函数”:“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”与“emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(519): warning C4024: “通过指针的函数”: 形参和实参 4 的类型不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(520): warning C4113: “emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”和“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”的参数列表不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(520): warning C4047: “函数”:“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”与“emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(520): warning C4024: “通过指针的函数”: 形参和实参 4 的类型不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(521): warning C4113: “emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”和“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”的参数列表不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(521): warning C4047: “函数”:“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”与“emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(521): warning C4024: “通过指针的函数”: 形参和实参 4 的类型不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(522): warning C4113: “emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”和“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”的参数列表不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(522): warning C4047: “函数”:“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”与“emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(522): warning C4024: “通过指针的函数”: 形参和实参 4 的类型不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(525): warning C4113: “emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”和“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”的参数列表不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(525): warning C4047: “函数”:“emacs_value (__cdecl *)(emacs_env *,ptrdiff_t,emacs_value *,void *)”与“emacs_value (__cdecl *(__cdecl *(__cdecl *)(emacs_env *,int))())()”的间接级别不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(525): warning C4024: “通过指针的函数”: 形参和实参 4 的类型不同 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\interface.c(173): warning C4244: “初始化”: 从“intmax_t”转换到“ptrdiff_t”,可能丢失数据 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj]
“C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\ALL_BUILD.vcxproj”(默认目标) (1) -> “C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj”(默认目标) (3) -> (ClCompile 目标) -> c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-commit.c(243): error C2057: 应输入常量表达式 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-commit.c(243): error C2466: 不能分配常量大小为 0 的数组 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-commit.c(243): error C2133: “parents”: 未知的大小 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-libgit2.c(29): error C2057: 应输入常量表达式 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-libgit2.c(29): error C2466: 不能分配常量大小为 0 的数组 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-libgit2.c(29): error C2133: “buf”: 未知的大小 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(59): error C2057: 应输入常量表达式 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(59): error C2466: 不能分配常量大小为 0 的数组 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(59): error C2133: “heads”: 未知的大小 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(101): error C2057: 应输入常量表达式 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(101): error C2466: 不能分配常量大小为 0 的数组 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(101): error C2133: “heads”: 未知的大小 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(130): error C2057: 应输入常量表达式 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(130): error C2466: 不能分配常量大小为 0 的数组 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(130): error C2133: “ids”: 未知的大小 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(159): error C2057: 应输入常量表达式 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(159): error C2466: 不能分配常量大小为 0 的数组 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(159): error C2133: “ids”: 未知的大小 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(184): error C2057: 应输入常量表达式 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(184): error C2466: 不能分配常量大小为 0 的数组 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-merge.c(184): error C2133: “ids”: 未知的大小 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-message.c(43): error C2057: 应输入常量表达式 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-message.c(43): error C2466: 不能分配常量大小为 0 的数组 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-message.c(43): error C2133: “cells”: 未知的大小 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(35): error C2143: 语法错误: 缺少“)”(在“(”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(35): error C2081: “attribute”: 形参表中的名称非法 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(35): error C2091: 函数返回函数 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(35): error C2059: 语法错误:“)” [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(35): error C2143: 语法错误: 缺少“)”(在“const”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(35): error C2143: 语法错误: 缺少“{”(在“const”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(36): error C2143: 语法错误: 缺少“)”(在“(”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(36): error C2059: 语法错误:“)” [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(36): error C2143: 语法错误: 缺少“)”(在“const”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(36): error C2091: 函数返回函数 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(36): error C2143: 语法错误: 缺少“;”(在“const”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit-options.c(136): error C2065: “checkout_notify_callback”: 未声明的标识符 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(204): error C2143: 语法错误: 缺少“)”(在“(”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(204): error C2081: “attribute”: 形参表中的名称非法 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(204): error C2091: 函数返回函数 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(204): error C2059: 语法错误:“)” [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(204): error C2146: 语法错误: 缺少“)”(在标识符“ptrdiff_t”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(204): error C2085: “nargs”: 不在形参表中 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(205): error C2143: 语法错误: 缺少“)”(在“(”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(205): error C2059: 语法错误:“)” [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(205): error C2146: 语法错误: 缺少“)”(在标识符“emacs_value”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(205): error C2091: 函数返回函数 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(205): error C2146: 语法错误: 缺少“,”(在标识符“emacs_value”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\egit.c(205): error C2143: 语法错误: 缺少“;”(在“*”的前面) [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\interface.c(59): error C2057: 应输入常量表达式 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\interface.c(59): error C2466: 不能分配常量大小为 0 的数组 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj] c:\users\me\appdata\roaming.emacs.d\site-lisp\libegit2\src\interface.c(59): error C2133: “args”: 未知的大小 [C:\Users\me\AppData\Roaming.emacs.d\site-lisp\libegit2\build\src\egit2.vcxproj]
83 个警告 51 个错误已用时间 00:01:24.48
for what it's worth: I've been able to achieve the compilation by modifying the Makefile like bellow.
--- Makefile-20190423_182836 2019-04-23 18:29:01.183646196 +0200
+++ Makefile 2019-04-23 18:28:36.916873544 +0200
@@ -12,7 +12,7 @@
build/libegit2.so:
git submodule update --init
mkdir -p build
- cd build && cmake .. -DCMAKE_BUILD_TYPE=Debug && make
+ cd build && cmake .. -DCMAKE_BUILD_TYPE=Debug -G "MSYS Makefiles" && make
test: EMACS_ARGS += -L build/ -l libegit2
test: build/libegit2.so test-ert
@@ -51,7 +51,7 @@
build/libegit2.so: libgit2
@printf "Building $<\n"
@mkdir -p build
- @cd build && cmake .. -DCMAKE_BUILD_TYPE=Debug && make
+ @cd build && cmake .. -DCMAKE_BUILD_TYPE=Debug -G "MSYS Makefiles" && make
lisp: $(ELCS) loaddefs module
``
And after that I must have copied `libhttp_parser-2.dll`
and `libssh.dll` to the emacs/bin installation dir.
I build as below but encountered one error. ~/.emacs.d/site-lisp/libgit/build $ cmake .. -DCMAKE_BUILD_TYPE=Debug -G "MSYS Makefiles" && make
c:/Users/myname/AppData/Roaming/.emacs.d/site-lisp/libgit/libgit2/src/transports/winhttp.c:873:36: error: 'SEC_E_BUFFER_TOO_SMALL' undeclared (first use in this function); did you mean 'RPC_S_BUFFER_TOO_SMALL'? if (success || GetLastError() != SEC_E_BUFFER_TOO_SMALL) ^~~~~~~~~~~~~~~~~~~~~~ RPC_S_BUFFER_TOO_SMALL
I haven't encountered this issue but two questions come to my mind :
- did you cleanup the directory before calling cmake ?
- have you installed msys/msys2-w32api-headers ?
@zijianyue Did that help?
@tarsius: I think I can confirm the first part as I had the same problem. I would also mention that even if cmake could build it with Visual Studio compiler, I think in this case it's an mistake as Emacs could not be build with it. So there is high probabilities that those who want / could build this module already use cygwin / msys compiler. Alas it's beyond my skills to propose a patch to tell cmake to prefer MSYS over Visual Sudio.
I don't use Windows so I have no idea what to do here.
Build success using toolchain tdm64-gcc-5.1.0-2 with command cmake .. -G "MinGW Makefiles"; cmake --build ..
But if build with MSVC, the same error as https://github.com/magit/libegit2/issues/83#issue-435630129 .
MSVC doen not support VLA(variabic length array) added in c99.
https://docs.microsoft.com/en-us/cpp/c-language/ansi-conformance?view=vs-2017
Microsoft C conforms to the standard for the C language as set forth in the 9899:1990 edition of the ANSI C standard.