Sziasztok,
10+ éve nem láttam Windowst, ezért most nem ismerem ki magam a témában. Kérdésem, milyen eszközökkel fordítunk manapság C/C++ programot 64 bites Windows 2012 szerveren? Natív 64 bites programot akarok fordítani parancssorból.
Amit eddig csináltam: Telepítettem a Windows SDK-t (version 8.59.25584), de ebben nincs cl.exe, vagy talán most máshogy hívják a fordítót?
- 12292 megtekintés
Hozzászólások
Esetleg MinGW?
http://mingw-w64.sourceforge.net/
- A hozzászóláshoz be kell jelentkezni
Először az MS cuccait szeretném kipróbálni.
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
visual studio 2012
___
info
- A hozzászóláshoz be kell jelentkezni
ingyen szeretnél C fordítót? hová gondolsz? :)
az SDK AFAIK nem tartalmaz C fordítót, ehhez kell egy valamilyen visual studio
- A hozzászóláshoz be kell jelentkezni
Az MS fordítók ingyenesek, csak nem tudom melyik csomag, ami nekem kell.
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
Visual Studio Express?
- A hozzászóláshoz be kell jelentkezni
Windows 2000-hez jó volt a VCToolkit és a Platform SDK. Ingyen letölthetők, de úgy tudom, hogy az ingyenesség csak a cli fordító eszközöre vonatkozott. Az előbbiek még a Windows 2003-hoz is jók voltak, mostanra azonban feltehetően változtak a dolgok. Azért egy ilyen névvel, hogy Visual Studio nem sokra megyek.
Továbbra is a kérdés: Hol, mely csomagban van a Windows 2012-höz passzoló 64 bites (de minimum 64 bites programot készítő) cl.exe?
- A hozzászóláshoz be kell jelentkezni
azt hiszem visual studio express kell neked
- A hozzászóláshoz be kell jelentkezni
Ahogy látom, ez a Visual Studio egy pénzes szoftver. Szerintem lennie kell valami "studio" nélküli, csak a parancssoros eszközöket tartalmazó csomagnak. Az kéne nekem.
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
a visual studio penzes, a visual studio express meg nem
---
Egy jól megállapított probléma félig megoldott probléma.
- Charles Kettering
- A hozzászóláshoz be kell jelentkezni
Ha jol emlekszem Windows Server-re nem is megy fel. :)
- A hozzászóláshoz be kell jelentkezni
Hat nem jol emlekszel. 2003-ra helybol felmegy, de szerintem 2008-ra is. Talan Core-ra nem megy.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
A WP7-re fejleszteshez valo verzio biztosan nem megy fel. Szivtam vele eleget.
- A hozzászóláshoz be kell jelentkezni
Az valami hakkolt VS, mas sebbol is verzik (nagyon szidjak masutt is).
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Visual Studio Express: 30 napos próba.
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
Na, ezt nem hiszem.
- A hozzászóláshoz be kell jelentkezni
(nod) ez igy van. de utana ingyen regelheto, Live ID kell hozzaja.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
afaik a DDK-ban van 64bites, de lehet azota az expressbe is raktak, de ezt most nem tudom megnezni
--
NetBSD - Simplicity is prerequisite for reliability
- A hozzászóláshoz be kell jelentkezni
Sajnos a 2010-es Express-be sem rakták bele a 64-bites fordítást, de van egy workaround, ami már a korábbi kiadásokkal is ment: fel kell tenni a Windows SDK-t (ez is free).
http://msdn.microsoft.com/en-us/library/9yb4317s.aspx
http://msdn.microsoft.com/en-us/library/h2k70f3s.aspx
- A hozzászóláshoz be kell jelentkezni
pl itt (amit aztán elronthatsz egy vs sku telepítésével)
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Szia!
A fordító nem a cl, hanem az msbuild, a cl pedig azt hiszem a linker, de persze kell a fordításhoz az is.
Az msbuild elvileg a .Net frameworkben van, a cl viszont tényleg a Windows SDK-ban van benne, fel kell tenni az SDK-nak a C++ compiler részét.
Annyi, hogy fordítás előtt el kell indítani a valamilyen bat fájlt, ami beállítja a szükséges környezeti változókat a buildeléshez. Ennek kell megadni, hogy 64 bitest akarsz fordítani valamilyen kapcsolóval (talán /x64, de meg tudod nézni).
Amúgy most nagyon képben vagyok a kérdésben, épp most csináltam hasonlót, szóval kérdezz nyugodtan.
- A hozzászóláshoz be kell jelentkezni
Nagyon képben vagy vs. msbuild=fordító? :)
- A hozzászóláshoz be kell jelentkezni
Mint ahogy a nevéből is látszik, igen, az fordító, azzal lehet a VS projekteket lefordítani VS nélkül. De abban igazad van, hogy a cl a c fordító, az msbuild azt indítja el a c projektek fordításához.
Ja igen, nekem VS studio projektet kellett fordítani VS nélkül...
- A hozzászóláshoz be kell jelentkezni
Mások is leírták már, hogy nem az a szó hagyományos értelmében. De azt még elárulom, hogy belül a VS is MSBuild-et használ.
- A hozzászóláshoz be kell jelentkezni
Jujj.
msbuild inkább make.
- A hozzászóláshoz be kell jelentkezni
Talan inkabb nmake. De egyik se tud mit kezdeni vcproj fajlokkkal.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Én csak analógiára gondoltam. Ha hasonlítanád valamire, akkor inkább olyan, mint egy make program.
De nem fordító, az biztos.
- A hozzászóláshoz be kell jelentkezni
Jaa. Felreertettem.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Milyen ha nem vagy képben?
MSBuild: build system (analógia: make, nmake, stb.)
cl: C/C++ fordító (analógia: gcc, icc, clang)
link: linker (analógia: ld)
Környezeti változók: vcvars32.bat vagy vcvars64.bat
Az utóbbi három része a Visual Studionak, a Visual Studio Expressnek, a WDK-nak (bár ez utóbbit nem ajánlom). Az SDK-ban szerintem nincs benne, de ez nem biztos.
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Rakd fel a Visual Studio Express-t.
CMake-et használj meta buildernek, az tud generálni makefile-okat, amik az msvc-t, a Ms C/C++ fordítóját használják. így nem fosztod magad az nmake begépelésének az élményétől.
Nekem ez így működik, pofon egyszerű, még Qt-t is tudja.
- A hozzászóláshoz be kell jelentkezni
A 64-bites fordítás az elmélet, sosem próbáltam, de nem látom miért ne működne.
Ha nem msvc-vel, akkor mingw-vel biztosan.
- A hozzászóláshoz be kell jelentkezni
Jó régen használtam már, de talám az lcc-win is jó lehet
http://www.cs.virginia.edu/~lcc-win32/
- A hozzászóláshoz be kell jelentkezni
Ha majd mást is ki szeretnél próbálni MS-en kívül, emlékeim szerint csak C fordító:
http://www.smorgasbordet.com/pellesc/
A fentebb említett LCC-ből indult.
"Belépés díjtalan, kilépés bizonytalan."
- A hozzászóláshoz be kell jelentkezni
Tedd fel a VC Express-t, abban lesz.
Egyre figyelj oda, hogy van _kulon_ olyan konzol, ahol 64 bites forditod van, illetve ezt a telepitoben is ki kell valasztni a megfelelo opciokat hozza (az Itaniumot meg tiltsd le).
Illetve meg egy jotanacs: VC 2008 -nal frissebbet ne akarj. A legtobb opensource projekt ezzel van csak tesztelve, es ezzel mukodik faszan. Az ujabbak felejtosek.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Köszönöm az infót, ezzel futok még egy kört.
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
A máshol felvetett dolgokra is itt válaszolok.
Visual Studio Express for Windows 8: 30 napos próba.
Felment a 64 bites Windows 2012 szerverre.
A parancssoros fordítót cl.exe-nek hívják.
Sajnos nem úgy van, ahogy gondoltam, azaz jelenleg nincs ingyenes 64 bites MSC compiler. A VC Toolkit 2003 csomag nyomai megvannak még az interneten, nekem is van belőle egy példány, de nincs neki modernebb folytatása. A régi VCToolkit2003 most is használható, de csak 32 bites programokat lehet vele készíteni.
A 64 bites compiler ahhoz kell, hogy a CCC-t portoljam 64 bitre Windowson. (Megj: Linuxon, BSD-n 2004 óta megy 64 biten is.) Részemről ez egy hobbi project. Az esetleges felhasználóknak is szükségük van ugyanarra a C compilerre, úgyhogy egy fizetős compiler nem opció. Marad tehát a MinGW.
- A hozzászóláshoz be kell jelentkezni
>> jelenleg nincs ingyenes 64 bites MSC compiler
mármint neked nincs
- A hozzászóláshoz be kell jelentkezni
"Visual Studio Express for Windows 8: 30 napos próba."
Mint lentebb írták, kérni kell egy serialt hozzá ami ingyenes. Csak Live ID kell hozzá.
---
/* No comment */
Ketchup elementál megidézése a sajt síkra
- A hozzászóláshoz be kell jelentkezni
Pedig snq- megmutatta neked, hogy melyik csomagban van, csak elsiklottál felette.
- A hozzászóláshoz be kell jelentkezni
"A régi VCToolkit2003 most is használható, de csak 32 bites programokat lehet vele készíteni."
Tévedés. A 2003-as cuccokban már van 64 bit támogatás. A Toolkit-ben a compilerek a Windows Server 2003 SDK-ban a könyvtárak. 10 éve használom, de csak most vettem észre. Először ezeket próbálom ki.
Szerk.
Meg is van a nagyja. Az +1000 cpp forráshoz 5 helyen kellett hozzányúlni: ahol korábban implicit cast volt, most be kellett írni a size_t-ről double-ra konverziót.
A build rendszerhez minimálisan kellett hozzányúlni: ki kellett hagyni két deprecated fordítási opciót, viszont hozzáadni a bufferoverflowu lib linkelését.
Tisztán csak a PATH, INCLUDE, LIB változók beállításán múlik a 32 vs. 64 bit.
Most van egy rakás 64 bites program, amik nincsenek ugyan agyontesztelve, de sok baj már nem lehet vele, ha le tudták magukat fordítani. Meg ugye ez egy veremgép, amiben mindenhol ugyanazok a primitívek futnak. Ami még kell: 64 bites ssl, pcreposix, gtk könyvtárak. Ezeket majd MinGW-vel.
Végül a pontos nevek, hogy mikkel dolgoztam:
Visual C++ Toolkit 2003 (öninstalláló exe)
Platform SDK Collection for Windows Server 2003 SP1 (CD ISO)
Ezeket még a saját idejükben begyűjtöttem, ingyenesek, nem időkorlátosak, talán még most is le lehet őket tölteni. Tévesen föltételeztem, hogy ezek a régi eszközök nem támogatják a 64 bitet, egyébként nem hozom létre a topicot.
Ahol mindezt csinálom: egy Ubuntu Natty qemuban futó 64 bites Windows 2012 szerver (180 napos próba).
- A hozzászóláshoz be kell jelentkezni
Ha már úgyis Linux alól szenvedsz, miért nem mingw cross-compile? Igaz kb 6 éve csináltam ilyet gentoo alól, de akkor problémamentes volt, gondolom azóta sem lett nehezebb...
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Miféle szenvedés?
Érdemes tudni a MinGW-w64 projektről. A projekt célja 32 és 64 bites Windowsra fordító GCC-k előállítása. A MinGW-w64 compilerek mindenféle platformon futnak: 32 és 64 bites Windowson, Linuxon, Darwinon, Cygwinen, vagyis keresztfordításról van szó. Vastagon használom, de mivel nincs vele probléma, nem erről szólt a topic.
Mire használom a C fordítókat:
A C nekem a CCC-hez kell. A CCC egy Clipper szerű nyelv, ami a Clipper kódot C-re fordítja. A CCC fordításnak ezért mindig része a C fordítás. Unix/Linuxokon mindenhol a GCC-t használom, Windowson a GCC-t és (!) az MSC-t, de az utóbbiból csak a 2003-as régi változatot, az újabbakkal nem volt szerencsém, túlságosan nem is érdekel.
A Clipperből generált kóddal sosincs gond. Kellenek viszont olyan külső könyvtárak, mint az OpenSSL, amiket baromi nehéz Windowson lefordítani. Itt jön képbe a MinGW-w64 keresztfordítási képessége. Ubuntun prímán lefordítja az OpenSSL-t 32 és 64 bites Windowsra is.
- A hozzászóláshoz be kell jelentkezni
"Miféle szenvedés?"
A teljes thread fentebb. :)
Egyébként qemu+windows server 180-napos próba és hasonlók. Ha már úgy is MinGW-t is használsz, és úgyse azért kell az MSVC mert jobb kódot generál, vagy linkelned kell az eredmény mással, akkor tán egyszerűbb hagyni a francba.
Just my 2 cents.
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
A CCC karbantartását csinálom. Nagyon könnyű dolgozni qemuban futó Windows-zal, FreeBSD-vel, NetBSD-vel. Leegyszerűsödött az élet, mióta ilyen frankón működik a qemu. Nem kell a ritkán használt rendszerekre külön gépet fenntartani, vagy folyton installálni, diszket ki-be dugdosni meg effélék. Mindig kéznél van és kész.
Valóban, mindig felvetődik, hogy az MSC-t el kéne hagyni. Nem is annyira az MSC-vel van gond, hanem hogy nehéz megszerezni a vele kompatibilis opensslt, regexpet és hasonlókat. De egyelőre még megy.
- A hozzászóláshoz be kell jelentkezni
"Leegyszerűsödött az élet, mióta ilyen frankón működik a qemu."
Kvm-mel használod, vagy valamiről nagyon lemaradtam?
- A hozzászóláshoz be kell jelentkezni
Nem értek hozzá, de úgy rémlik, hogy valahogy egyesítették a qemu és a kvm projektet. Mindenesetre Ubuntu Nattyn a gyárilag benne levő "qemu-kvm" csomagot használom.
--
ulysses.co.hu
- A hozzászóláshoz be kell jelentkezni
= "KVM-et hasznalok"
Nem egyesitettek, hanem a QEmu-nak az egyik alprojektje a KVM, ami erosen epit a processzor alapu virtualizaciora (ugye a kqemuhoz meg erre nem volt szukseg). Viszont ezt leszamitva, minden szempontbol QEmu, meg a parancssori felulet is.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
A C nekem a CCC-hez kell. A CCC egy Clipper szerű nyelv, ami a Clipper kódot C-re fordítja.
Akkor nezd meg a Harbour-t is, az tud mindenfele OS-re forditani (MS-DOS, Windows (32 & 64), Windows CE, Pocket PC, OS/2, Linux, Mac OS X).
Mi a DOS-on futo (Clipper-ben irt) ugyviteli rendszerunket forditottuk le vele (64 bites) Linuxra, lassan ket eve megy elesben, es koszoni, mukodik.
- A hozzászóláshoz be kell jelentkezni
Felreerted, o nem egy clipper compilert keres, amennyire tudom, o tartja karban a CCC-t.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Akkor nem szoltam :-)
- A hozzászóláshoz be kell jelentkezni