Cydwin'de C++ programlarını nasıl derlerim? Gcc yüklü. Hangi komutu kullanmalıyım? Ayrıca, konsol uygulamamı .cpp uzantısında olduğunda nasıl çalıştırabilirim. Bazı küçük programlar ile C++ öğrenmeye çalışıyorum, ancak Visual C++, her küçük .cpp dosyası için ayrı bir proje oluşturmak zorunda kalmak istemiyorum.Cyclwin ile Compile C++
cevap
Sen gibi bir komut kullanmak gerekir.
g++ -o prog prog.cpp part2.cpp part3.cpp
ama sonunda, size sadece değişmiş bitleri derlemek zorunda böylece kolaylık makefiles tanıtmak isteyeceksiniz: Birden C++ dosya varsa, bunu yapabilirsiniz. Sonra ile bitireceğiz Makefile
gibi: o zaman, bu tür her C++ dosya için ayrı bir kural gerektirmiyor olarak (onları daha esnek hale getirmek için makefiles yazmayı endam başlayacağız
prog: prog.o part2.o part3.o
g++ -o prog prog.o part2.o part3.o
prog.o: prog.cpp
g++ -c -o prog.o prog.cpp
part2.o: part2.cpp
g++ -c -o part2.o part2.cpp
part3.o: part3.cpp
g++ -c -o part3.o part3.cpp
Ve ), ama başka bir soru için bırakılabilir. Her bir C++ dosyası için ayrı bir proje olmasıyla ilgili olarak, bu hiç de gerekli değildir. Bir dizinde hepsini var ve yürütülebilir dosyalara ++ dosyaları C basit bir eşleme varsa, aşağıdaki makefile kullanabilirsiniz: Sonra
SRCS=$(wildcard *.cpp)
EXES=$(SRCS:.cpp=.exe)
all: $(EXES)
%.exe: %.cpp
g++ -o [email protected] $^
make
komutunu çalıştırın ve onu (akıllı) yaratacak tüm senin yürütülebilir. [email protected]
hedeftir ve $^
önkoşulların listesidir.
Ve daha karmaşık kurallarınız varsa, bunları aşağıdan yere yapıştırın.
SRCS=$(wildcard *.cpp)
EXES=$(SRCS:.cpp=.exe)
all: $(EXES)
%.exe: %.cpp
g++ -o [email protected] $^
xx.exe: xx.cpp xx2.cpp xx3.cpp
g++ -o [email protected] $^
echo Made with special rule.
g ++ 'a ihtiyacınız olacak. Sonra başlangıç olarak g++ file.cpp -o file.exe
'u deneyin. Daha sonra Makefiles'i öğrenerek çok fazla yazmayı engelleyebilirsiniz. bir yürütülebilir tek dosya C++ projesini dönecek basit bir form var
g++ -o prog prog.cpp
:
Eğer normal gcc
sözdizimi
g++ -o foobar foobar.cpp
kullanmalıdır CygWin kullanmak istiyorsanız ama bu gerçekten Visual C iyi oynamıyor ++: Belirli kurallar desen kurallarına göre tercih edilecektir . Görsel C++ derleyicisinden GCC'yi kullanmayı tercih ederseniz, Eclipse CDT'a göz atmanızı öneririm.
Bir cpp programı derlemek ne yaparsak:
g++ -Wall File1.o File2.o -o File.exe
:
g++ -Wall -c File1.cpp
g++ -Wall -c File2.cpp
Şimdi sıra kombine nesne dosyaları ile çalıştırılabilir bir dosya oluşturmak: Eğer ayrı ayrı dosyaları derlemek istiyorsanız
g++ -Wall Test.cpp -o Test
-Wall enables warning and error messages to be shown
-o Test creates an Test.exe after compilation
Bu sayede başlık dosyalarınızı derleyebilir ve uygulama programlarınıza ekleyebilirsiniz.
- 1. Gulp/Düğüm - SASS Compile ile ilgili hatalar
- 2. Windows'da QtCreator, Linux için Compile for CodeSourcery Toolchain ile
- 3. cmake, print compile/link komutları
- 4. IntelliJ - Uzak Scala Compile Server
- 5. Windows'da Ubuntu'da Bash, Compile AOSP
- 6. Windows'da Compile Mono projesini çalıştırın ve Linux'ta çalıştırın
- 7. Paylaşılan barındırma üzerinde 32 bit linux için Compile git
- 8. Qt kitaplıklarının ne kadar yakın olması gerekir (COMPILE vs RUNTIME)
- 9. Anlatım <TDelegate> .Compile ve Çöp Toplama
- 10. org.gradle.api.interna[email protected]397740e0 adresinde 'compile' özelliği bulunamadı.
- 11. ByRef parametreleri İfade ağaçları ile C#
- 12. C++ ile statik başlatılması Objective-C ile karıştırılmış
- 13. C# ile geçiş String.IsNullOrEmpty
- 14. FACmp ile kodlama (C++)
- 15. C# delikleri ile sorun #
- 16. C++ ile Bitmap Çizim +
- 17. C# ile Prolog Entegrasyonu #
- 18. C#: HttpClient POST ile
- 19. C# ile yüzdeleri kullanma
- 20. mysql ile bağlanarak C++
- 21. C++ işaretçi ile işaretçi
- 22. C++ sizeof ile bool
- 23. C# ile WebDriver
- 24. Eclipse ile C++ Kullanımı
- 25. SFML C++ ile çalışmadı
- 26. Sözdizimi vurgulama kitaplığı C/C++ ile yazılmış
- 27. Dizgeyi C# ile C DLL'den geçir
- 28. Flutter C/C++ kodu ile oluşturuluyor - örnek?
- 29. C++ C++ ile yeni/sil eşdeğeri nedir?
- 30. ile C++ işlevinin çağrılması hükümsüz * C# app
Teşekkürler. Ama her bir .cpp dosyası için bir makefile oluşturmak yerine, aynı dizinde herhangi bir C++ dosyası derleyen tek bir makefile oluşturabilir miyim? –
Uzantı nedir? .Yapmak? Ya da myMakefile –
@Mohit gibi bir uzantı yoksa, bu makefile'ler herhangi bir cpp dosyasını eşdeğer exe'ye (joker karaktere ve '%' desenine bakın) derler. Sözleşmeye göre make dosyası Makefile veya makefile olarak adlandırılır. Bob.mk gibi farklı bir ad kullanabilirsiniz ama sonra 'make all' yerine 'make -f bob.mk all' yapmalısınız. – paxdiablo