Ubuntu'da Windows için nasıl programlanır?


24

Ubuntu'nun IDE'sinde (örn. Anjuta) bir konsol uygulaması (C ++ veya C #) oluşturmak ve Windows için derlemek mümkün mü?


1
mingw, çapraz derleme için bariz bir seçimdir, ancak bunu Anjunta ile nasıl entegre edebileceğim konusunda hiçbir fikrim yok. Burada mingw ve kdevelop'un entegrasyonu hakkında bir eğitim görmüştüm: forums.gentoo.org/viewtopic-t-292180.html belki de mingw'i öneren milletten biri Anjunta eğiticisiyle bir entegrasyon olduğunu biliyor mu?
RobotHumans

Yanıtlar:


21

Çapraz derleme yapmak istiyorsunuz, bu da özellikle sizin işlemciniz tamamen farklı olduğunda, kendi platformunuz dışındaki platformlar için kod derlemenin bir yoludur. Temel olarak, hedefiniz için tüm başlıkları (yani pencereleri) yüklemeniz ve ardından derleyiciye çapraz derleme olduğunu söylemelisiniz, böylece sistem kontrollerinden bazılarını yapmaz ve bunun yerine standart olmayan dizinlere işaret eder.

Dile bağlı olarak, özel olarak bir arama yapmayı veya soru sormayı yararlı bulabilirsiniz veya temel c yapıyorsanız MinGW araçlarını ve gcc kullanan aynı tür linux tabanlı derleme araçlarını kullanabilirsiniz:

sudo apt-get install gcc-mingw32

Orada MinGW'nin araçlarını kullanarak qt / win32 çapraz derleme için iyi bir rehber .


12

MingW'ye bir göz atmalısın . Windows için gcc uyumlu bir derleyici sağlar.

Windows'tan ikili dosyalar oluşturmak için Linux'tan kullanabileceğiniz bir çapraz platform sürümü var. Synaptic ile veya çalıştırarak yükleyebilirsiniz:

sudo apt-get install gcc-mingw32

Buna dayanarak ve normal 'make' komutunu kullanarak, pencereler için programlar oluşturabilirsiniz.

Daha sonra make ve gcc kullanmanıza izin veren herhangi bir IDE bu derleyiciyi kullanabilir. Örneğin, burada Code :: Blocks IDE'den bunun nasıl yapılacağı açıklanmaktadır .


Benim için yeterince iyi 1
RobotHumans

7

Diğer cevaplar C / C ++ kodu için doğrudur; bir çapraz derleyici almanız gerekir.

C # kodu için, Mono'nun Monodevelop'u yükleyin derleyicisi .NET derleyici ile aynı türde bytecode ve çalıştırılabilir biçim ürettiği için Monodevelop'u kullanabilirsiniz (ve bunun tersi de geçerlidir). Mono ile kurduğunuz uygulamalar, standart .NET Base Class Kütüphaneleri içinde kaldığınız veya uygulamanızla kullandığınız fazladan kütüphaneleri bir araya getirdiğiniz sürece Windows makinelerinde değiştirilmemiş olarak çalışacaktır.



2

Windows uygulama linux (ubuntu) programlamak için en yaygın yolu mingw araçlarını kullanarak:

http://www.mingw.org/

Yüklemeye hazır mingw için ubuntu paketleri var.


2

Gönderen bu sayfada :

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

Temel çapraz derleme için gerekli olan budur. Hadi deneyelim:

#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;
}

Bunu kullanarak derleyin:

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

Yürütmek için mingw kütüphanesine ihtiyacınız var: mingwm10.dll:

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

Sonra başlatabilirsiniz:

wine essai.exe

İletişim kutusunun metni aksanlı Fransızca dilinde, gvim yapmak için kaynağı pencerenin kod sayfasına dönüştürün 1252 :<ESC>:e ++enc=cp1252

Başka bir çözüm, daha güçlü olan UTF-8 kullanmaktır, ancak bu, dizelerin işlenme biçimini değiştirmeyi gerektirir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.