C++ 使用g++;FreeBSD 10上的49

C++ 使用g++;FreeBSD 10上的49,c++,gcc,freebsd,C++,Gcc,Freebsd,我运行FreeBSD 10.1(它使用clang堆栈,即libc++、libcxxrt和friends),我试图用gcc编译一个应用程序,但运气不好 < >我已经将C++编译器设置为G+ 49,并且已经验证了在/Ur/Orth/ListB/GCcc49中正确链接的STDLIB,但是当应用程序运行时,LD搜索LIbSTDc++ + .S/Urr/Studio/LIB/GCC48中的SO 6,而不是: % ldconfig -r | grep libstdc++ 1118:-lstd

我运行FreeBSD 10.1(它使用clang堆栈,即libc++、libcxxrt和friends),我试图用gcc编译一个应用程序,但运气不好

< >我已经将C++编译器设置为G+ 49,并且已经验证了在/Ur/Orth/ListB/GCcc49中正确链接的STDLIB,但是当应用程序运行时,LD搜索LIbSTDc++ + .S/Urr/Studio/LIB/GCC48中的SO 6,而不是:
% ldconfig -r | grep libstdc++
        1118:-lstdc++.6 => /usr/local/lib/gcc48/libstdc++.so.6
        1142:-lstdc++.6 => /usr/local/lib/gcc49/libstdc++.so.6
导致这种情况发生的原因:

/usr/local/lib/gcc48/libstdc++.so.6: version GLIBCXX_3.4.20 required by /usr/home/ryan/foobar not found

% ldd foobar
foobar:
        libstdc++.so.6 => /usr/local/lib/gcc48/libstdc++.so.6 (0x80081d000)
        libm.so.5 => /lib/libm.so.5 (0x800b26000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x800d4e000)
        libc.so.7 => /lib/libc.so.7 (0x800f5c000)
是否有人对如何永久解决此问题有任何想法(即不设置LD_LIBRARY_PATH)?

尝试安装

 /usr/ports/misc/compat6x

您可以使用
-rpath
链接,在生成的可执行文件中设置运行时库路径。这与
LD_LIBRARY_PATH
的工作方式类似,不需要任何特殊的环境