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