Visual Studio 如何将另一个项目中用 C 编写的源代码包含到我自己的 C++ 项目中

How can I include source code written in C from another project into my own project in C++ in Visual Studio

我想将 Potrace 用于 Visual Studio 中 Windows 上的 C++ 项目,但我不知道如何将 Potrace 包含到我的项目中。 我曾尝试使用 Cygwin 编译 C 文件,并以这种方式创建一个 .a 文件,然后在 visual studio 中将其 link 添加到它,但这没有用。 Visual Studio 能够识别来自 Potrace 的函数,但是当 运行 使用 Potrace 的测试程序(调用 potrace_version() )时,Visual Studio 得到错误“LNK2019 unresolved external function_main 中引用的符号 _potrace_version”

我已经使用上面提到的技术让它在 Ubuntu 上运行,然后使用以下代码编译我的代码: g++ main.cpp backenddxf.cpp ImageManipulation.cpp ./libubuntu/libpotrace.a -o test.out 'pkg-config --cflags --libs opencv

我是否必须将源代码(在网站上称为“source distribution”)编译成一个lib文件,然后link它到我的项目中,在那种情况下,我该怎么做? 或者我错过了什么。我在 Windows 10.

上使用 Visual Studio 2017

我不精通 C++ 的工作原理,因此非常感谢详细的解释。

我使用 Yaakov 的 answer 将 potrace 编译为 .a 文件

./configure --prefix=/usr/x86_64-64-ming32/sys-root/mingw --host=x86_64-w64-mingw32 --with-libpotrace

然后

make

之后我使用了 Stuti Rastogi 的 answer 如何 link Visual Studio.

中的 .a 文件