2014-05-22 13 views
7

Sto provando a creare bkchaind. Una opzione di compilazione è usare cmake, quindi l'ho installato con Homebrew (OSX 10.9.1). Quando faccio cmake, però, ottengo:CMake disable -std = C++ 11 flag per i file C

[ 2%] Building C object json-rpc-cpp/src/jsonrpc/CMakeFiles/jsonrpcStatic.dir/connectors/mongoose.c.o 
error: invalid argument '-std=c++11' not allowed with 'C/ObjC' 

sono nessuno troppo sicuro perché cmake avrebbero cercato di passare un C++ - opzione del compilatore specifica in un file C/objC. Se io commento questa riga nel file principale CMakeLists.txt:

ADD_DEFINITIONS(-std=c++11) 

allora non passa più la bandiera a qualsiasi file. Tuttavia, i file C++ ne hanno bisogno. Come posso ottenere cmake per includere il flag per i file C++, ma non per i file C?

+0

Forse cercare nel file di CMakeLists.txt (s) se i flag è impostato da qualche parte? – Anycorn

+0

@Anycorn: Hah sì, l'ho fatto e ho aggiornato la domanda. – Claudiu

risposta

10

Usa CMAKE_CXX_FLAGS per impostare C++ flag specifici:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") 
+1

Immagine dello stesso profilo!^_^ – 0x499602D2

+1

carpe e batman? – Anycorn

+0

No, tu e l'OP avete rotto le icone delle immagini! :) – 0x499602D2

Problemi correlati