
gcc
내 Linux(Ubuntu) 시스템에 의 새 버전을 빌드하고 설치한 후 /opt/gcc-10.2.0
.
그런 다음 update-alternatives
이것을 기본값 gcc
/ 으로 설정했습니다 g++
.
그러나 에서 발견된 것이 아닌 이전 의 새로운 gcc
스틸 링크 로 구축된 프로그램에서는 작동합니다 .libstdc++
/usr/lib/x86_64-linux-gnu
/opt/gcc-10.2.0/lib64
이는 시스템이 libstdc++
C++11 이전 ABI를 사용하는 경우 문제가 됩니다. 이로 인해 시작 시 애플리케이션이 중단될 수 있기 때문입니다.
최신 버전의 GCC를 설치하고 이를 사용자의 "기본 컴파일러"로 만들고, 이를 사용하여 작성된 프로그램이 해당 컴파일러와 함께 번들로 제공되는 libstc++
(및 libgcc
)에 연결되도록 하는 방법이 있습니까?
최신 GCC 버전을 사용하는 빌드 서버를 만들고 싶어서 이렇게 질문드립니다.
답변1
- 컴파일된 프로그램의 이식성이 향상되므로 이는 실제로 좋습니다.
-L/opt/gcc-10.2.0/lib64
컴파일 플래그에 추가해 볼 수 있습니다 .- 할 수 있습니다
sudo mkdir /usr/lib64/save; sudo mv -iv /usr/lib64/libstdc++* /usr/lib64/save
. 이는 권장되지 않습니다.