จะเขียนโปรแกรมสำหรับ Windows ใน Ubuntu ได้อย่างไร?


24

อย่างไรก็ตามมีการสร้างแอปพลิเคชันคอนโซล windows (C ++ หรือ C #) ใน IDE ของ Ubuntu (เช่น Anjuta) และรวบรวมสำหรับ Windows หรือไม่


1
mingw เป็นตัวเลือกที่ชัดเจนสำหรับการคอมไพล์ข้าม แต่ฉันไม่รู้ว่าจะรวมเข้ากับ Anjunta ได้อย่างไร ฉันเห็นการสอนเกี่ยวกับการรวม mingw และ kdevelop ที่นี่: forums.gentoo.org/viewtopic-t-292180.html อาจเป็นหนึ่งในผู้แนะนำ mingw ที่รู้จักการรวมกับการสอน Anjunta หรือไม่
RobotHumans

คำตอบ:


21

คุณต้องการคอมไพล์คอมไพล์ซึ่งเป็นวิธีการคอมไพล์โค้ดสำหรับแพลตฟอร์มอื่นที่ไม่ใช่ออนของคุณโดยเฉพาะอย่างยิ่งเมื่อโปรเซสเซอร์แตกต่างอย่างสิ้นเชิง โดยทั่วไปคุณต้องติดตั้งส่วนหัวทั้งหมดสำหรับเป้าหมายของคุณ (เช่น windows) จากนั้นบอกคอมไพเลอร์ว่าเป็นการคอมไพล์ข้ามดังนั้นจึงไม่ทำการตรวจสอบระบบบางส่วนและจะชี้ไปที่ไดเรกทอรีที่ไม่ได้มาตรฐาน

ขึ้นอยู่กับภาษาที่คุณอาจพบว่ามีประโยชน์ในการทำการค้นหาหรือคำถามโดยเฉพาะหรือถ้าคุณกำลังทำพื้นฐาน c คุณสามารถใช้เครื่องมือMinGWและเครื่องมือคอมไพล์ที่ใช้ linux ประเภทเดียวกันที่ใช้ gcc:

sudo apt-get install gcc-mingw32

มีคำแนะนำที่ดีสำหรับ QT / win32 รวบรวมข้ามโดยใช้เครื่องมือ


12

คุณควรมีลักษณะที่MinGW มันมีคอมไพเลอร์ที่รองรับ gcc สำหรับ windows

มีเวอร์ชันข้ามแพลตฟอร์มที่คุณสามารถใช้จาก Linux เพื่อสร้างไบนารี Windows ได้ คุณสามารถติดตั้งได้ด้วย synaptic หรือโดยเรียกใช้:

sudo apt-get install gcc-mingw32

ขึ้นอยู่กับว่าและด้วยการใช้คำสั่ง 'ปกติ' คุณสามารถสร้างโปรแกรมสำหรับ windows

จากนั้น IDE ใด ๆ ที่อนุญาตให้คุณใช้ make และ gcc สามารถใช้คอมไพเลอร์นี้ได้ ยกตัวอย่างเช่นนี่คือวิธีที่จะทำจากรหัส :: บล็อก IDE


ดีพอสำหรับฉัน +1
RobotHumans

7

คำตอบอื่น ๆ นั้นถูกต้องสำหรับรหัส C / C ++; คุณจะต้องได้รับคอมไพเลอร์ข้าม

สำหรับโค้ด C # คุณสามารถใช้Monodevelop ติดตั้ง Monodevelopได้เนื่องจากคอมไพเลอร์ของ Mono สร้างรูปแบบ bytecode และรูปแบบที่สามารถเรียกใช้งานได้เช่นเดียวกับคอมไพเลอร์. NET (และวีซ่าในทางกลับกัน) แอพที่คุณสร้างด้วย Mono จะทำงานแบบไม่แก้ไขบนเครื่อง Windows ตราบใดที่คุณยังคงอยู่ในไลบรารี่คลาสฐาน. NET มาตรฐานหรือรวมไลบรารีพิเศษใด ๆ ที่คุณใช้กับแอพของคุณ


5

อาจต้องการทดลองใช้ Qt กับผู้สร้าง Qt เฟรมเวิร์กที่ยอดเยี่ยมสำหรับแอปพลิเคชัน GUI และคอนโซลคุณสามารถคอมไพล์สำหรับ Windows, Linux และ OS X

http://qt.nokia.com/



2

จากหน้านี้ :

sudo apt-get install wine mingw32 mingw32-binutils mingw32-runtime

นี่คือทั้งหมดที่จำเป็นสำหรับการคอมไพล์ข้ามพื้นฐาน มาลองกัน:

#include <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPSTR lpCmdLine, int nCmdShow)
{
  MessageBox(NULL,
    "Cette fenêtre prouve que le cross-compilateur est fonctionnel !",
    "Hello World", MB_OK);
  return 0;
}

รวบรวมสิ่งนี้โดยใช้:

i586-mingw32msvc-g++ -o essai.exe essai.cpp

ในการดำเนินการคุณต้องมีไลบรารี mingw: mingwm10.dll:

gunzip -c /usr/share/doc/mingw32-runtime/mingwm10.dll.gz > mingwm10.dll

จากนั้นคุณสามารถเปิดใช้งาน:

wine essai.exe

ข้อความของกล่องโต้ตอบเป็นภาษาฝรั่งเศสด้วยสำเนียงในการทำด้วย gvim ให้แปลงซอร์สโค้ดเป็นหน้ารหัส windows 1252 :<ESC>:e ++enc=cp1252

อีกวิธีที่มีประสิทธิภาพมากกว่าคือการใช้ UTF-8 แต่ต้องเปลี่ยนวิธีจัดการสตริง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.