문제

i'm writting c++ program and i want to distribute it on Mac OS X versions 10.6 and above. The problem is when i compile the program with clang and it's dynamically linked with libstdc++ and it causes problems with older systems.

There is a key -static-stdc++ in gcc but there's no one in clang. How can i link my program statically with clang?

My main goal is to compile binary on Mac OS X 10.9 and be able to run it on earlier versions. Maybe there's a different way?

Thank you.

도움이 되었습니까?

해결책

Under Linux, this command works:

clang --std=c++11 -stdlib=libstdc++ loopy.cpp -o loopy -static -lstdc++

Where loopy is of course the name of my program.

Update:

It appears that Apple strongly discourages static linking so it suggests another approach is needed.

This answer on creating backwards compatible OS X software may be of use to you instead.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top