如何准确地验证clang++链接到哪个库,尤其是标准库?一旦我这样做了,我如何验证这是正确的C++11库,而不是更早的版本(即是否有可执行代码来测试)。
clang -v仅给出库搜索路径,而不给出链接到的实际库。我担心正确的库被遮蔽了,因为我得到了非常奇怪的行为(例如,一旦向量的C++11样式初始化失败,例如向量v {5,6},在运行时失败,只是将v初始化为0,但我从未能够重现)。
有人在另一个帖子上说,这种事情可能是由于升级而不是全新安装的Mavericks造成的,但我想先检查一下库。
请注意,大多数关于苹果上的std库的StackOverflow回复都与该操作系统的早期版本有关;苹果显然完全改变了Mavericks中的东西。
发布于 2014-05-23 02:30:29
你可以试试ldd。例如,ldd /path/to/clang
linux-vdso.so.1 => (0x00007fff2f1ff000)
librt.so.1 => /lib/librt.so.1 (0x00007fea7eec8000)
libdl.so.2 => /lib/libdl.so.2 (0x00007fea7ecc3000)
libncurses.so.5 => /lib/libncurses.so.5 (0x00007fea7ea80000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007fea7e863000)
libz.so.1 => /lib/libz.so.1 (0x00007fea7e64b000)
libstdc++.so.6 => /pkg/qct/software/gnu64/gcc/4.8.2/lib64/libstdc++.so.6 (0x00007fea7e33c000)
libm.so.6 => /lib/libm.so.6 (0x00007fea7e0b9000)
libgcc_s.so.1 => /pkg/qct/software/gnu64/gcc/4.8.2/lib64/libgcc_s.so.1 (0x00007fea7dea1000)
libc.so.6 => /lib/libc.so.6 (0x00007fea7db1b000)
/lib64/ld-linux-x86-64.so.2 (0x00007fea7f0f5000)发布于 2014-05-23 03:26:49
我发现用于查找链接库的Mac命令是"otool -L“。至于验证某个库是否符合C++11,我不知道。
https://stackoverflow.com/questions/23793768
复制相似问题