요약 :libgit2 library (소스는 GitHub에서 사용 가능)을 사용하는 Win32 C++ 콘솔 응용 프로그램을 빌드하는 방법에 대한 아주 작은 예제가 있습니까?Windows에서 기본 C++ 응용 프로그램에서 libgit2를 사용하는 방법은 무엇입니까? (Microsoft VC++)
나는 CMake를 사용하여 readme와 wiki를 how to build the library on Windows에 따라 왔으며 원활하게 작동했습니다 (단 하나의 단위 테스트 오류 만).
이제 Microsoft Visual Studio C++ 2010 (the.vcxproj
및 the.sln
)을 사용하여 라이브러리를 사용하는 간단한 콘솔 응용 프로그램을 만들고 싶습니다. libgit2 예제에서 general.c
코드를 발견했으며, C++ 응용 프로그램에서도 동일한 작업을 수행하려고합니다. 성공하지 못했습니다 - 오늘 정말 바보 같아요.
C++과 Qt에 libqgit2가 있습니다. 순수한 C++과 비슷한 것이 있습니까? 또는 C++ 응용 프로그램에서 C 라이브러리를 사용하는 방법이 있습니까?
가 업데이트 : 이름을 변경 한general.c
general.cpp
때문에, libgit2 프로젝트와 lib 디렉토리 파일의 경로에 대한 경로를 포함 추가 #include <cstdio>
에 #include <stdio.h>
을 변경하고 컴파일. 다음 링크 오류가 표시됩니다.
1>------ Build started: Project: libgit2_general, Configuration: Debug Win32 ------
1>general.obj : error LNK2019: unresolved external symbol _git_repository_free referenced in function _main
1>general.obj : error LNK2019: unresolved external symbol _git_config_get_string referenced in function _main
1>general.obj : error LNK2019: unresolved external symbol _git_config_get_int32 referenced in function _main
1>general.obj : error LNK2019: unresolved external symbol _git_config_open_ondisk referenced in function _main
1>general.obj : error LNK2019: unresolved external symbol _git_strarray_free referenced in function _main
... etc.
1>general.obj : error LNK2019: unresolved external symbol _git_repository_open referenced in function _main
1>general.obj : error LNK2019: unresolved external symbol _giterr_last referenced in function "void __cdecl check_error(int,char const *)" ([email protected]@[email protected])
1>D:\Tutorial\libgit2_general\Debug\libgit2_general.exe : fatal error LNK1120: 56 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
"성공하지 못함"이라고 말하면 무엇을 의미합니까? 어떤 종류의 문제가 있습니까? libgit2는 기본적으로'__stdcall'을 사용하고 MSVC는 기본적으로'__cdecl' 프로젝트를 생성합니다!) –
@EdwardThomson : updated. – pepr