2014-11-27 8 views
5

Desidero utilizzare libC++ insieme a clang su Arch Linux nel progetto CMake. Ho installato libC++ e aggiunto seguenti righe CMakeLists.txt come detto in LLVM site nella sezione Linux di "Uso libC++ nei programmi": ​​Collegamento di libC++ al progetto CMake su Linux

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -stdlib=libc++") 
set(CMAKE_EXE_LINKER_FLAGS "-lc++abi") 

Ho provato solo "++ abi" in bandiere di linker, ma didn aiuto. Ho bisogno di aiuto per capire cosa dovrei scrivere nel mio CMakeLists.txt.

+1

messaggio di quale errore si ottiene? –

+0

@RichardHodges CMake non fornisce alcun messaggio di errore, ma quando provo ad usare std :: string per esempio, clang mi fornisce il seguente messaggio: 'istanza implicita del modello non definito 'std :: __ l :: basic_string , std :: __ 1 :: allocator > ' ' – Ostrea

+0

sembra che hai fatto non' '#include

risposta

8

Vorrei aggiungere questo come commento, ma mi manca la reputazione.

Non dimenticare di impostare il compilatore clang ++:

set(CMAKE_CXX_COMPILER "clang++") 

Inoltre, spurgare il CMake file generati (eliminare la cartella CMakeFiles e CMakeCache.txt).

A seconda del sistema, potrebbe anche aiutare a impostare

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++abi") 
+0

aiutato, grazie mille – Ostrea