【问题标题】:String.h Errors From g++ Compilation来自 g++ 编译的 String.h 错误
【发布时间】:2026-02-19 05:30:01
【问题描述】:

我无法确定以下由 g++ 生成的 C++ 错误

/tmp/ccH0IPVU.o: In function `myAPP::mandatory_bitfield_t::to_s(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
myAPP.cpp:(.text._ZN3myAPP20mandatory_bitfield_t4to_sERSsSs[myAPP::mandatory_bitfield_t::to_s(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)]+0x8c): undefined reference to `myAPP::to_s(unsigned char*, int)'
/tmp/ccH0IPVU.o: In function `myAPP::optional_bitfield_t::to_s(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
myAPP.cpp:(.text._ZN3myAPP19optional_bitfield_t4to_sERSsSs[myAPP::optional_bitfield_t::to_s(std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)]+0x8d): undefined reference to `myAPP::to_s(unsigned char*, int)'
collect2: ld returned 1 exit status

有谁知道这些错误指的是什么以及如何修复它们?

【问题讨论】:

  • 您可以提供来自myAPP.cpp 文件的代码sn-p。
  • 你有myAPP::to_s(unsigned char*, int)吗?如果是,请检查您是否将必要的目标文件传递给链接器。

标签: c++ string g++ compiler-errors


【解决方案1】:

据链接器所知,您忘记包含(编译)myAPP::to_s(unsigned char*, int) 的定义。

我只是在翻译错误信息。

干杯&hth。

【讨论】:

  • 此外,正在从myAPP::mandatory_bitfield_t::to_s(std::string)myAPP::optional_bitfield_t::to_s(std::string) 调用未定义的函数。
【解决方案2】:

这实际上是一个链接器错误。

undefined reference to `myAPP::to_s(unsigned char*, int)

表示您的代码在某处调用to_s 方法,但此方法的主体未包含在传递给链接器的目标文件中。

【讨论】: