Dobre i darmowe IDE do C/C++ dla Windows 10

Poszukuje dobrego i darmowego IDE C/C++, które dałoby się uruchomić na Windows 10. Docelowo potrzebuję stworzyć aplikację dla Windows 10. Programy, które tworzę będą wykorzystywane w celach zarobkowych/

Próbowałem Dev-C++, ale zawiesza się podczas kompilacji. Na stronie Windows 10 nie jest wymieniony jako wspierany system. KDevelop mógłby być, ale nie chcę pobierać zbyt dużo zależności. Stąd też moje pytanie. Na GNU/Linux programuję w KDevelop, więc jego wybór był pierwszą myślą. Innych IDE raczej nie znam, choć programowałem też w Netbeans i Eclipse. Zawsze lepiej się spytać, co warto wypróbować.

Macie jakieś sugestie/propozycje?

Visual Studio Community?

Tu masz ograniczenie licencyjne wersji darmowej:
In non-enterprise organizations, up to five users can use Visual Studio Community. In enterprise organizations (meaning those with >250 PCs or >$1 Million US Dollars in annual revenue), no use is permitted beyond the open source, academic research, and classroom learning environment scenarios described above.

1 polubienie

Popieram przedmówcę. Nic lepszego nie znajdziesz. Najlepsze narzędzie, nie tylko dla C++. Tu Microsoft na prawdę wykonał kawał porządnej roboty. Na deser jest Visual Studio Code, lekkie narzędzie z mnóstwem wtyczek, w tym do C++, oraz śmiga na Linuxie. jako programista gorąco polecam.

Od siebie mogę dodać jedynie, że jeśli zamierzasz wydać aplikację tylko na Windowsa to pisz ją w C# i WPF.

1 polubienie

Z drugiej strony przy pisaniu aplikacji na Windowsa i Linuxa w C/C++ nie wiem czy bym na pewno startował z Visual Studio Community. Za czasów VS2005 wiem, że były z tym problemy - Visual dodawał np. stdafx.h do includów żeby przyspieszyć kompilację, ale w GNU ta biblioteka nie istnieje… Trzeba mocno uważać, tymczasem IDE bazujące na GCC takich przypadłości nie mają.

Sprawa nie jest taka prosta i oczywista. W przypadku tworzenia kodu który ma być uruchomiony na Win i Linux większe znaczenie będą miały wybrane biblioteki niż sam kompilator czy IDE.

Własny kod i biblioteki:
Po pierwsze należy głównie trzymać się STLa, druga sprawa wybierać tylko te biblioteki które są dostępne na obu platformach - lub jest możliwość ich kompilacji, czyli nie zawierają zależności ściśle związanych z jednym systemem.

IDE:
Nie ma znaczenia, ale lepiej wybrać takie które jest dostępne na wszystkich platformach, bo skoro chcemy, aby nasz kod uruchamiany był na kilku systemach powinniśmy zadbać też o to by dało się go rozwijać na tych systemach. Głupio byłoby za domyślne IDE wybrać Visual Studio podczas tworzenia kodu na linuxa. Ktoś mający Linuxa i chcący wprowadzić zmiany musiałby zbudować sobie cały projekt w innym IDE.

Kompilator:
Tutaj jest jeszcze ciekawiej, może się okazać że GCC pod windowsem nie skompiluje projektu i będzie trzeba użyć Visual C++ Build Tools - czyli kompilator Visual Studio (MSVC). Żeby nie być gołosłownym - używając Qt WebEngine pod windowsem trzeba skompilować projekt przy pomocy MSVC bo tego wymaga projekt Chromium. A wydawałoby się, że Qt to multiplatformowa biblioteka ;). Z tego co mi wiadomo kompilacja tego samego projektu pod Linuxem przejdzie bez problemu przy użyciu GCC.

Więc nie da się jednoznacznie powiedzieć co trzeba używać, wybór narzędzi i technologi trzeba rozłożyć na kilka płaszczyzn i dokonywać wyboru na każdej z nich. Dodatkowo czasami nie da się wybrać jednoznacznie i trzeba być przygotowanym (a tym samym przygotować projekt) na wszystkie możliwości.

Wracając do tematu jeszcze, przecież Qt Creator jest darmowy i dostępny na Win. Ma w sumie dobre opinie, chociaż mi nie przypasował. Zmęczę w nim jeszcze ten jeden projekt i podziękuję.

No dobra. Ja chcę stworzyć tylko jedną aplikację pod Windows i ma ona być konsolowa. Nie musi być przenośna. Nie będę sprzedawać licencji czy udostępniać kodów źródłowych/binariów, ale ma być wykorzystywana przez firmę, w której pracuję.

To tak jak wspomniałem użyłbym C# i Visual Studio. Chyba, że technologia tego wymaga to C++. Jeśli piszesz pod Windowsa nic lepszego niż VS nie znajdziesz.

Nie wiem czy wymaga, bo się nie znam na C#. Projekt ma się składać z biblioteki zarejestrowanej jako hook (sorry za techniczny bełkot - nie wiem, co to oznacza, a tłumaczenia nie chce mi się szukać) naciśnięcia kombinacji na klawiaturze. Drugim składnikiem jest program konsolowy, który ma służyć do rejestracji czegoś. Biblioteka będzie w odpowiedzi na komunikat systemu, pokazywać okno drugiego składnika (przenosić na pierwszy plan) i przekazywać komunikat dalej do obróbki przez system.

Popatrzę, co mogę zrobić przez C# i Visual Studio. Dzięki za odpowiedzi.

Bez znaczenia czy będziesz pisał w C# czy C++ wybrałbym Visual Studio. C# jest bardzo podobny do C++ a jak używasz .net to nie ma między nimi prawie różnicy, za wyjątkiem jednej - w C# ma wiele ułatwiaczy więc kod wygląda na prostszy i objętościowo wyjdzie go trochę mniej.

Hooki do WinApi najłatwiej jednak zrobić w C++, nie w C#. Visual Studio będzie idealny.