gpt4 book ai didi

c++ - 尝试使用外部 header 编译程序时出现问题

转载 作者:行者123 更新时间:2023-11-30 03:06:03 24 4
gpt4 key购买 nike

我正在学习 C++,我正在尝试在我的程序中使用我从互联网上下载的库(来自此处 https://mattmccutchen.net/bigint/)。因为我希望一切都非常整洁,所以我将所有 .hh 文件放在名为“BI”的子文件夹中。但是,当我尝试使用 g++(在 Windows XP SP3 上是 MinGW)编译我的 .cpp 文件时,编译器输出以下错误:


J:\comp proj\FS>J:\Programmi\MinGW\bin\g++.exe "J:\comp proj\FS\test.cpp" -o "J:\comp proj\FS\test.exe" -I "J:\comp proj\FS\BI"
E:\DOCUME~1\MrJackV\IMPOST~1\Temp\ccidH1Z6.o:test.cpp:(.text+0x2c): undefined reference to <code>BigInteger::BigInteger(int)'
E:\DOCUME~1\MrJackV\IMPOST~1\Temp\ccidH1Z6.o:test.cpp:(.text+0x11b): undefined reference to</code>operator<<(std::ostream&, BigInteger const&)'
E:\DOCUME~1\MrJackV\IMPOST~1\Temp\ccidH1Z6.o:test.cpp:(.text$<em>ZNK10BigIntegermlERKS</em>[BigInteger::operator*(BigInteger const&) const]+0x29): undefined reference
to `BigInteger::multiply(BigInteger const&, BigInteger const&)'
collect2: ld returned 1 exit status

我试过使用 -I, -l and -L切换以解决问题但没有成功。此外,我已经尝试在 cpp 中放入 #include "BI/BigIntegerLibrary.hh"但这没有用。

我做错了什么吗?

提前致谢。

最佳答案

您需要同时使用 -L 和 -l 开关。 -L 指向包含库二进制文件的目录,-l 命名该二进制文件

例如-L/home/ed/libs -lmath

关于c++ - 尝试使用外部 header 编译程序时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078470/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com