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

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

本文关键字:项目 我自己 包含 自己的 源代码 Visual C++ Studio 另一个      更新时间:2023-10-16

我想在Visual Studio的Windows上使用Potrace进行C++项目,但我不知道如何将Potrace包含在我的项目中。 我尝试使用Cygwin编译C文件,并以这种方式创建一个.a文件,然后在Visual Studio中链接到它,但这不起作用。Visual Studio能够识别来自Potrace的功能,但是当使用Potrace(Calling potrace_version())运行测试程序时,Visual Studio收到错误"LNK2019 function_main中引用了未解析的外部符号_potrace_version">

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

我是否必须将源代码(在网站上称为"源代码分发")编译为lib文件,然后将其链接到我的项目,在这种情况下,我该怎么做? 还是我错过了什么。我在Windows 10上使用Visual Studio 2017。

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

我使用 Yaakov 的这个答案将 potrace 编译为 .a 文件

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

然后

make

之后,我使用了Stuti Rastogi关于如何在Visual Studio中链接.a文件的答案。