libegit2 icon indicating copy to clipboard operation
libegit2 copied to clipboard

Compile error on windows in VS2017 CMD prompt

Open zijianyue opened this issue 6 years ago • 7 comments

  1. 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

  1. 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

zijianyue avatar Apr 22 '19 07:04 zijianyue

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.

PierreTechoueyres avatar Apr 23 '19 16:04 PierreTechoueyres

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

zijianyue avatar May 09 '19 08:05 zijianyue

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 ?

PierreTechoueyres avatar May 10 '19 13:05 PierreTechoueyres

@zijianyue Did that help?

tarsius avatar Jun 16 '19 17:06 tarsius

@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.

PierreTechoueyres avatar Jun 16 '19 18:06 PierreTechoueyres

I don't use Windows so I have no idea what to do here.

tarsius avatar Jun 16 '19 18:06 tarsius

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.

wsw0108 avatar Aug 02 '20 08:08 wsw0108