Pertanyaan C ++ 11 dukungan penuh pada Eclipse [tertutup]


Saya mencoba mencari cara untuk mendapatkan dukungan C ++ 11 penuh pada Eclipse.

Di Eclipse Juno saya punya banyak fitur baru __GXX_EXPERIMENTAL_CXX0X__ tetapi saya tidak menemukan dukungan untuk itu std::threads, std::mutex, dll.

Bagaimana saya bisa menyelesaikan semua fungsi C ++ 11?

EDIT: Solusi

Pergi ke Project -> Properties -> C/C++ General -> Path and Symbols -> Tab [Symbols]. Tambahkan simbol: __cplusplus dengan nilainya 201103L


32
2018-02-27 16:38


asal


Jawaban:


Eclipse bekerja dengan dukungan C + 11 (Indexer dan semacamnya) baik-baik saja: baik Juno dan Kepler. Masalahnya adalah Anda harus membiarkan Eclipse tahu bahwa Anda akan mengkompilasi dengan dukungan C ++ 11. Ini dilakukan dengan memberikan bendera tambahan -std=c++11 untuk CDT GCC Builtin Compiler Settings di C/C++ -> Build -> Settings -> Discovery [tab] jadi itu akan membaca sesuatu seperti:

${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11

Dan itulah yang harus Anda lakukan dengan Kepler / Juno untuk mendapatkan kode C ++ 11 yang disorot dengan benar.

Catatan, ini adalah pengaturan ruang kerja-lebar. Anda dapat melakukan hal yang sama per proyek dasar jika Anda tidak ingin mengaturnya di ruang kerja.


18
2018-02-27 17:23



Bahkan ada compiler yang sepenuhnya mendukung C ++ 11? Jika Anda berada di Windows, maka saya pikir Anda harus memberi Microsoft Visual Studio Express Edition 2013 mencoba. Dukungan C ++ 11-nya tidak lengkap tetapi IMO cukup bagus, dan sepertinya akan menjadi lebih baik dalam waktu dekat.


-1
2018-02-27 17:19