Membuat file *.exe untuk Windows di Linux

Hingga kini, saya bekerja dengan menggunakan komputer Linux, mulai untuk pengolahan dokumen sampai pembuatan program, semuanya dilakukan dengan menggunakan utility dan tool development Linux.

Pembuatan program executable untuk Linux sangat lah mudah. Dengan gcc sebagai compiler (plus linker), dan sedikit script Makefile, pekerjaan tersebut dapat diselesaikan dengan cepat. Tapi, kalau kemudian harus menghasilkan program untuk berjalan di Windows?

Untungnya di Linux ada cross kompiler gcc untuk mengkompile source program dari Linux untuk target Win32. Di distro uBuntu, paket ini disediakan oleh mingw32 (dan mingw32-binutils, mingw32-runtime). Setelah paket-paket tersebut diinstall dengan aptitude, compiler dan binary util lainnya akan terinstall di /usr/bin/ dengan nama program prefix i586-mingw32msvc-. Jadi kompiler gccnya adalah i586-mingw32msvc-gcc, linkernya i586-mingw32msvc-ld, dan seterusnya.

Bagaimana menggunakannya? Dengan Makefile berikut mungkin bisa menjelaskan cara memakainya. Ketik ‘make’, file biner executable 1.exe dihasilkan dan bisa dieksekusi dari prompt Windows.

# Makefile for win32 target
#
WIN32CC=i586-mingw32msvc-gcc

PROGS=1.exe
SRC=1.c 2.c 3.c

all: $(PROGS)

1.exe: $(SRC)
       $(WIN32CC) -o $@ $^

5 Komentar to “Membuat file *.exe untuk Windows di Linux”

  1. Sipppp infonya. Kalau buat pcb di linux (centos) pakai apa dong?

  2. [root@localhost mul]# yum search kicad
    Loaded plugins: fastestmirror, priorities
    Loading mirror speeds from cached hostfile
    * addons: mirror.nus.edu.sg
    * base: mirror.nus.edu.sg
    * epel: mirror.nus.edu.sg
    * extras: mirror.nus.edu.sg
    * rpmforge: fr2.rpmfind.net
    * updates: mirror.nus.edu.sg
    655 packages excluded due to repository priority protections
    Warning: No matches found for: kicad
    No Matches found

  3. Wah sekarang pake ubuntu kang?

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: