总结:是否有任何关于如何构建使用libgit2 库的 Win32 C++ 控制台应用程序的小示例(源代码可在GitHub 上获得)?
我已经按照自述文件和 wiki 了解如何使用 CMake 在 Windows 上构建库,并且运行顺利(只有一个单元测试错误)。
现在,我想构建一个使用该库的简单控制台应用程序——使用 Microsoft Visual Studio C++ 2010(the.vcxproj
和the.sln
)。我在libgit2general.c
示例中找到了代码,我想在我的 C++ 应用程序中做同样的事情。没有成功——我今天真的很傻……
我注意到有用于 C++ 和 Qt 的 libqgit2。纯 C++ 有类似的东西吗?或者有没有办法从 C++ 应用程序中使用 C 库?
更新:我已重命名general.c
为general.cpp
,添加了项目的 libgit2 包含路径和 .lib 文件的路径,更改#include <stdio.h>
为#include <cstdio>
,并编译。出现以下链接错误:
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 *)" (?check_error@@YAXHPBD@Z)
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 ==========