kullanarak Linux'u hedefleyen Windows platformları altında çapraz platform oluşturma Windows 2000'de C++ yazılımında (MSVC++ kullanarak) bir yazılım geliştiriyorum, fakat yazılımımı her platformda kullanmak istediğim için kullanmaya karar verdim. CMake yapı jeneratörü olarak. Bu nedenle, hala CMake'de yeni başlayan bir kişiyim. CMake eğiticilerinden derleme kodlarını geçebilmek için önce ana platformda hedef platformu simüle eden bir araç zincirinin kurulması gerektiğini anlıyorum. Sonra, bu araç zinciri tarafından sağlanan uygun bir hedef platform C ve C++ derleyicileri kullanılarak, CMake makefile vb. Oluşturabilirdi.CMake
Şimdi, bir Linux platformunda Linux platformu (GNU/Linux) için kodumu oluşturmak istiyorum. Ben Cygwin ile kombine CMake kullanarak ve gcc ve g ++ derleyiciler olarak kullanarak yukarıdaki prosedürü denedim. İyi, yaratılmış makefiller inşa etti ve Cygwin terminalinde "make" verdiğimde, oluşturulan maketler "yapıldı". Şimdi Linux platformunda çalışacağını umduğum bir yürütülebilir program var. Ama Linux'ta hatayı alıyorum: bash ikili dosyayı çalıştıramıyor.
Komut dosyası executablename kullanılarak, yukarıdaki işlem tarafından yapılan yürütülebilirliğin yalnızca Windows için olan PE32 türünde olduğunu farkettim.
Şimdi sorum şu: Cmake kullanarak çapraz platform oluşturma prosedürü benim için doğru mu? Yoksa bir Linux ELF çalıştırılabilir hale getirmek için windows altında başka bir Linux toolchain kullanmalı mıyım? Ne istediğimi verecek aklıma ne tür araçlar geliyor?
çok teşekkürler
Setareh
Cmake hakkında hiçbir şey bilmiyorum, ancak qmake'nin farklı platformlar için "profiller" oluşturuyor. Belki de, cmake dokümanlarındaki "hedef platform" seçeneğini veya bunun gibi bir şeyi aramalısınız. –
http://metamod-p.sourceforge.net/cross-compiling.on.windows.for.linux.html – stijn
[Makinemdeki qmake için mkspec'lerin örnek listesi] (http://pastebin.com/raw.php ? i = 3mMjgC9p) –