64-bites compiler Windows-ra

 ( NevemTeve | 2013. október 7., hétfő - 17:50 )

Keresgéltem egy keveset, míg végül kiderült, hogy az 'apt-get install mingw-w64' az én barátom; most éppen ezek a komponensek vannak a gépemen:

ii  gcc-mingw32      The GNU Compiler Collection (cross compiler for MingW32 / MingW64)
ii  mingw-w64        Minimalist GNU w64 (cross) runtime
ii  mingw32-binutils Minimalist GNU win32 (cross) binutils
ii  mingw32-runtime  Minimalist GNU win32 (cross) runtime

Ilyesmik lesznek a Makefile-ban:

CC      := amd64-mingw32msvc-cc
RC      := amd64-mingw32msvc-windres
LIBS    := -lkernel32 -lws2_32

Egy kis kérdésem maradt, honnan tudjam, hogy melyik unresolved extern melyik lib-ből jöjjön. Ehhez az explist programot így módosítom:

#!/bin/sh

/usr/bin/amd64-mingw32msvc-nm -B -BCpg "$@" |\
awk '{ if ((($2 == "T") || ($2 == "D") || ($2 == "B")) && (substr($3,1,1) != ".")).
     { print $3 } }' |\
sort -u

És már csak ezt kell futtatni a /usr/amd64-mingw32msvc/lib/ összes fájljára.

for i in *.a; do
    w64-explist $i >${i/.a/.exp}; done

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Kieg: Már csak egy debugger kell win64-re, mert semeddig sem jut el a program :(

Szerk: ugyanis a WinMain összes paramétere nulla. tippem szerint a linkelésnél csináltam valamit rosszul.

Szerk: olvasmány:
http://gcc.gnu.org/onlinedocs/gcc-4.7.1/gcc/i386-and-x86_002d64-Options.html
kipróbálhatónak tűnik: -m64 -mwin32 -mwindows
Vajon def-modult kezel a gcc?

Szerk: def-modult nem használtam (kellene?), a -mwindows opciótól jó lett.
Olvasmány: http://wyw.dcweb.cn/stdcall.htm