Setup C++ & Visual Studio Code di 2019

Equan P.
Pemrograman
Published in
4 min readFeb 18, 2019

Mungkin sudah tidak banyak yang mempelajari C/C++ kecuali di lingkungan akademisi yang memang setau saya memang masih diwajibkan tetapi mau tidak mau sudah pasti C/C++ masih menjadi backbone atau fondasi lunak dari semua infrastruktur IT yang ada sekarang.

Dalam perkembangan teknologi pemakaian prosesor multi-core sudah sangat umum dan merakyat (smartphone) dan bersamaan dengan itu dibutuhkan bahasa pemrograman yang secara “default” memang memanfaatkan hardware multi-core tersebut contoh bahasa pemrograman baru yang saya maksud adalah Rust dan Go.

Jika dilihat dari segi kecepatan pengeksekusian bahasa Rust dan Go tidak kalah dengan C/C++ hanya saja khusus untuk Rust dibutuhkan learning curve yang lebih banyak daripada jika anda mempelajari Go.

🔥 Lalu kenapa masih mempelajari bahasa berumur 30 tahun lebih seperti C/C++?

Jawabannya saya kira ada di mature-nya bahasa ini dan banyaknya resource yang bisa anda pelajari jika MULAI mempelajari C/C++dan saya kira bahasa ini tidak akan pernah mati meskipun sudah berumur 34 tahun (1985) dan kalaupun menghilang setidaknya mempunyai tempat tersendiri apalagi jika anda termasuk pemrogram perangkat keras maka sudah defacto bahwa C/C++ wajib anda pelajari.

Ok. saya tidak akan membicarakan learning C/C++ (which is nuts!) hanya saja di tahun 2019 dengan memakai Windows 10 pengaturan lingkungan untuk pengembang C/C++ lumayan agak ribet karena saya pribadi sangat menghindari editor seperti Visual Studio.

Setup

Ada beberapa persyaratan untuk OS Windows 10 seperti berikut

Perlu menjadi catatan bahwa Build Tools TIDAK menyertakan Visual Studio sehingga anda bebas saja memakai editor lain seperti Visual Studio Code, Atom untuk mengembangkan aplikasi C/C++.

Hanya saja dalam tulisan ini saya akan memakai Visual Studio Code karena ya…VSC is awesome! 😸

  • Instal vcpkg
    vcpkg
    secara sederhana adalah manajer paket untuk C/C++, hampir sama dengan npm-lah kalau di node.js.
  • Instal Visual Studio Code (VSC)
  • Instal Microsoft C/C++ extension untuk VSC
    Menurut saya belum sempurna banget dan pada saat tulisan ini dibuat masih dalam stage preview.
  • Instal Cmake
    Cmake merupakan tool portabel umum untuk mem-build atau automasi task dalam konteks ini yaitu kompilasi maupun linking C/C++ di Windows.

vcpkg bisa digunakan untuk mencari dan menginstal paket C/C++ sehingga sangat memudahkan dalam mengatur depedensi paket

Untuk menginstal misalnya paket sdl2 maka perintahnya sangatlah mudah

vcpkg.exe install sdl2

kekurangan manajer paket ini mungkin (koreksi kalau saya salah) yaitu tidak adanya version locking dari paket dan mungkin memang sengaja di desain begitu sehingga programer mau tidak mau harus selalu mengupdate ke paket yang up-to-date.

💻 main.cpp

Ok, kita ambil contoh file main.cpp seperti diatas yang isinya adalah membuat window dengan memakai paket sdl2 yang umum dipakai di pengembangan game.

Untuk mengkompilasi file main.cpp sudah pasti akan mudah jika memakai Visual Studio dengan timbal balik semua konfigurasi dirahasiakan dari anda! tetapi jka dilakukan secara manual maka anda saya sarankan memakai cmake.

💻 CMakeLists.txt

Saya bukan ahli dalam memakai cmake tetapi menurut yang saya baca cmake bisa men-generate konfigurasi projek misalnya untuk Visual Studio dan anda memang perlu banyak membaca dokumentasi untuk memahami konfigurasi cmake. Silahkan googling atau duckduckgoing untuk mencari penjelasan konfigurasi diatas.

Option DCMAKE_TOOLCHAIN_FILE bisa didapat dengan menjalankan

vcpkg.exe integrate install

kemudian dengan mudah kompilasi main.cpp bisa dilakukan dengan asumsi main.cpp dan CMakeLists.txt pada root folder

mkdir build
cd build
cmake .. "-DCMAKE_TOOLCHAIN_FILE=E:/sdk/vcpkg/scripts/buildsystems/vcpkg.cmake"
cmake --build .

Hanya saja saya belum menemukan konfigurasi supaya secara otomatis pustaka sdl2.dll yang merupakan dependensi main.cpp bisa dikopi ke keluaran pada saat proses build berlangsung.

🎁 Kode Sumber 🎁

Ok. Semoga cukup jelas.
Happy Learning!

Tentang Saya
Programer yang tidak terlalu bertendensi ke bahasa pemrograman tertentu, meskipun saya termasuk fans berat dari Node.js tetapi selama problem terselesaikan, ok saja kalau harus memakai teknologi lain — Github, Twitter

Sepertinya tepuk tangan 👏 pengganti LIKE bisa sampai 50, jadi kalau tepuk tangan atau clap cuman 1 akan kelihatan sangat aneh 😆 (Gak..maksud saya clap akan membantu supaya yang lain bisa lebih mudah menemukan artikel ini. Trims)

--

--