【发布时间】:2013-10-29 09:02:42
【问题描述】:
我正在从批处理文件编译和链接此源代码,我现在正在导入的库是 MSVCRT.LIB Kernel32.lib User32.lib
代码一直有效,直到我包含 string iostream 和 fstream 并创建一些 wofstream 对象。那时链接器向我显示了一大堆未解析的符号,其中:
std::_BADOFF
static class std::locale::id std::codecvt
std::_Xout_of_range
std::_Fiopen
std::basic_streambuf
std::char_traits
std::basic_ios
std::locale::id::operator unsigned _int64
所以我想知道我可能缺少哪些库。在链接器中,我指定了/nodefaultlib 选项,因此我可以决定使用哪些库,但现在我遇到了这个问题,找不到这些标准函数的库。
【问题讨论】:
-
不是答案(因此是评论):你为什么害怕链接标准库?
-
好吧,我只是想知道我必须为字符串、iostream 和 fstream 链接哪些特定库,但我可以链接所有标准库。至少,我能知道标准中包含哪些库吗?
-
该标准没有定义任何编译器框架。例如,编译器将被允许在其自身中携带所有定义,然后将它们硬连接到您的程序中。或者允许分成任意数量的库;例如在 GNU 框架中,数学库将是一个单独的库。
标签: c++ linker symbols unresolved-external wofstream