less than 1 minute read

Error ini terjadi karena gcc bawaan MacOS itu jadul. Atau disunat sama Apple. Pokoknya library-nya ga lengkap. Solusinya dengan mengganti gcc dan juga g++ dengan versi yang lebih baru.

Pertama install dulu brew kalau belum.

Kemudian install gcc dan cmake dengan command:

brew install gcc cmake

Dalam hal ini gcc yang diinstall merupakan versi 7.3.0 dan disimpan di /usr/local/Cellar/gcc/7.3.0_1.

Setelah beres masuk ke direktori /usr/local/bin dan buat symbolic link untuk gcc dan g++ terbaru, karena entah kenapa brew tidak otomatis melakukan ini.

cd /usr/local/bin
ln -s gcc-7 gcc
ln -s g++-7 g++

Pastikan gcc dan g++ sudah mengarah ke versi /usr/local/bin yang mana merupakan gcc versi brew.

which gcc
which g++

Kemudian tambahkan baris ini di file ~/.bash_profile:

export LC_ALL=C; unset LANGUAGE

Dan refresh bash:

source ~/.bash_profile

Selanjutnya saat hendak menjalankan command cmake tambahkan dua flag berikut yang mengatur compiler yang digunakan:

cmake -DCMAKE_C_COMPILER=/usr/local/Cellar/gcc/7.3.0_1/bin/gcc -DCMAKE_CXX_COMPILER=/usr/local/Cellar/gcc/7.3.0_1/bin/g++

Compile berjalan sukses sampai beres.

Semoga bermanfaat. 😊

Comments