Możesz dodać -stdlib = libC++ do flag kompilatora.
Prosty przykład:
cmake_minimum_required(VERSION 2.8.4)
project(test)
set(CMAKE_VERBOSE_MAKEFILE TRUE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -v -stdlib=libc++")
add_executable(test main.cpp)
Daj wyjściowa:
"/usr/bin/ld" ... -o test ... -lc++ ...
Domyślnie:
cmake_minimum_required(VERSION 2.8.4)
project(test)
set(CMAKE_VERBOSE_MAKEFILE TRUE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -v")
add_executable(test main.cpp)
Link do STDC++:
"/usr/bin/ld" ... -o test ... -lstdc++ ...
[aktualizacja]
Jeśli nie trzeba połączyć z C++ lib w ogóle - stosować '-nodefaultlibs' jak flaga łącznikowej i '-nostdinC++' do kompilatora flagę. Może być konieczne połączenie niektórych domyślnych bibliotek, takich jak "-lystem".
Co to jest dokładnie to cię martwi, które są konsekwencje jesteś stara się uniknąć? – Antonio
Nie mogę polegać na libstdC++ w środowiskach, w których chcę wdrożyć ten projekt. –