Jav*_*ner 8 c++ xcode warnings ld
这是我的Clang编译器中非常奇怪的行为.我使用Xcode(OS X),所有都是最新的.为什么我会在这个简单的代码中收到此警告?如果我删除这两行警告隐藏.
ld:警告:在_main中直接访问全局弱符号std :: __ 1 :: char_traits :: eq(char,char)表示在运行时无法覆盖弱符号.这可能是由使用不同可见性设置编译的不同翻译单元引起的.
int main( int argc, char* argv[] ) {
std::string file = "test";
size_t pos = file.find( "a" );
return 0;
}
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅控制符号可见性 @ developer.apple.com。
看起来您的库(例如 C++ 标准库)和您的代码已使用不同的可见性设置编译,至少,链接器错误消息是这样说的。
要修复警告,您应该在编译代码时使用相同的可见性设置,例如-fvisibility=hidden.
| 归档时间: |
|
| 查看次数: |
5381 次 |
| 最近记录: |