如何解决为什么将我的cpp文件与libstdc ++链接会期望任何C函数的前向声明,而与libc ++链接却没有问题?
我正在使用QNX SDP 7.0,它具有一个称为QCC的c ++编译器,实际上是g ++ 5.4.0。
仅当我使用-stdlib = libstdc ++标志编译并链接我的c ++文件时,我看到在cpp源文件中进行的C函数调用会抛出“未在此范围内声明”错误,如下所示。
keyvalue.cpp:33:39:错误:未在此范围中声明'memset'
memset(_value,0,NVM_MAX_GET_CONfig); ^ keyvalue.cpp:在构造函数'nvm :: keyvalue :: keyvalue(std :: unordered_mapstd :: __ cxx11 :: basic_string&)':keyvalue.cpp:38:39:错误: 未在此范围内声明'memset'memset(_value,0, NVM_MAX_GET_CONfig);
如果我使用-stdlib = libc ++,则看不到任何编译问题。
任何需要我做的关于链接libstdc ++的特殊想法
extern“ C” {// c函数的前移}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。