저는 g ++ 4.6과 g ++ 4.7을 모두 사용하여 늦게 프로그램을 개발해 왔습니다. 저는 현재 많은 C++ 11 기능을 이용하고 있습니다.C++ 11/최신 g ++ 버전 (4.7/4.6)을 사용한 이식성
나는 하위 디렉토리에 프로그램과 함께 libs를 번들링하고 LD_LIBRARY_PATH를 사용할 수 있다고 생각했다. 나는 이것이 내 프로그램이 segfault를 일으키는 것을 발견했다. 내가 좀 더 일찍 시험 했어야 했어. libc.so.6이 번들로 묶여있는 것으로 보입니다 (아마도 다른 것들이지만, 확실히 libc).
이전에는 libs를 설치할 수 없었던이 기술을 사용했지만 잘 작동했지만 libc와 libstdC++를 프로그램과 함께 포함 할 필요가 없었습니다.
이 문제를 해결할 수있는 방법이 있습니까? 아니면 이전 C++/libc/libstdC++ 버전으로 롤백해야합니까? (와 함께 제공되는 코드 변경의 악몽)
항상 C++ 라이브러리를'-static-libstdC++'로 정적으로 링크 할 수 있습니다 ... –
나는 이것을 시도했지만 작동하지 않습니다. 나는 dlopen (예를 들어 getaddrinfo)을 필요로하는 함수를 사용하고 있어야하며 gnutls와 연결되어 있고 정적으로 링크 될 수없는 libs를 사용하는 것으로 보인다. 결과 바이너리는 ldd에 동적으로 링크 된 libstdC++를 보여줍니다. – goji
문제가 libc.so.6 인 경우 gcc 또는 g ++과 관련이 없습니다. –