如何在C++项目中导入无.dll/.lib文件的库(LibFort/BPrinter)
如何在Visual Studio中使用仅含头文件的C++库(LibFort/BPrinter)
你提到的LibFort和BPrinter都属于仅头文件库(Header-Only Library)——这类库的所有实现代码都内嵌在头文件(.h/.hpp)中,没有预编译的.lib/.dll文件,因此不需要配置链接器相关属性,只需让编译器找到头文件即可。以下是具体操作步骤:
步骤1:下载并解压库文件
- 下载对应版本的库压缩包,解压到本地任意路径(比如
D:\CppLibs\libfort、D:\CppLibs\bprinter),确保解压后的文件夹里包含库的头文件目录(比如LibFort的fort目录、BPrinter的bprinter目录)。
步骤2:配置Visual Studio项目的头文件路径
- 打开你的VS项目,右键点击项目名称,选择「属性」。
- 在属性页左侧导航栏,展开
C/C++→ 选择「常规」。 - 找到「附加包含目录」,点击右侧的编辑按钮(
...)。 - 在弹出的窗口中,点击「新建」,将刚才解压的库的根目录添加进去(比如
D:\CppLibs\libfort、D:\CppLibs\bprinter),点击确定保存设置。
步骤3:在代码中调用库
配置完成后,就可以直接在代码中包含库的头文件并使用:
LibFort示例代码
#include <iostream> #include <fort/fort.hpp> int main() { fort::char_table table; table << fort::header << "姓名" << "年龄" << "职业" << fort::endr << "张三" << 25 << "程序员" << fort::endr << "李四" << 30 << "设计师" << fort::endr; std::cout << table.to_string() << std::endl; return 0; }
BPrinter示例代码
#include <iostream> #include <bprinter/table_printer.h> int main() { bprinter::TablePrinter tp(&std::cout); tp.AddColumn("姓名", 10); tp.AddColumn("年龄", 5); tp.AddColumn("职业", 15); tp.PrintHeader(); tp << "张三" << 25 << "程序员"; tp << "李四" << 30 << "设计师"; tp.PrintFooter(); return 0; }
步骤4:编译运行
直接点击VS的「生成」或「调试」按钮即可编译运行项目。因为仅头文件库的代码会在编译时直接嵌入你的项目,所以不需要设置任何链接器相关属性(也就是你之前看到的「附加库目录」「附加依赖项」这些都不用管)。
内容的提问来源于stack exchange,提问作者Sorruss
相关产品推荐
相关产品推荐

