无法在XCode中选择libc ++或libstdc ++

时间:2013-09-05 03:50:49

标签: xcode linker standard-library libstdc++ libc++

我正在尝试在XCode中构建一个使用Cinder和OpenSubdiv的项目。

他们在许多方面发生冲突,我解决了大多数问题,但最后一个问题让我很头疼。

我有一个链接器错误:

“架构x86_64的未定义符号:”std :: __ throw_length_error(char const *)“,引自:blah blah

经过一番研究后,我发现我应该将“C ++标准库”从libc ++更改为libstdc ++。

然而,Cinder抱怨并告诉我它需要 libc ++。所以我被卡住了。

我设法让Cinder和OpenSubdiv在Windows上一起工作,但是在mac上真的很难。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

第一个选择是找出谁请求std::__throw_length_error(char const*),然后将该代码更改为使用libc ++而不是libstdc ++。

如果由于某些原因无法完成,您可以尝试通过将/usr/lib/libstdc++.dylib添加到Other Linker Flags设置来链接到libc ++和libstd ++(在“C ++标准库”中保留libc ++的选择) )。