Błąd kompilacji to błąd w tworzeniu pliku kodu maszynowego dla języka komputerowego. Wiele języków komputerowych kompiluje swój kod źródłowy do plików kodu maszynowego, zanim programy będą mogły zostać zbudowane lub wykonane. Najczęstszym rodzajem błędu kompilacji jest podstawowy błąd składniowy; jeden mały błąd może spowodować wiele problemów z kodem.
Najpopularniejsze języki programowania obiektowego, C++ i Java®, wykorzystują kompilację w pewnej formie. Różni się to znacznie od języków interpretowanych, które używają surowego kodu źródłowego w czasie wykonywania do wykonania programu. Język nie musi być z natury zorientowany obiektowo, aby mógł być kompilowany; Na przykład C++ może mieć strukturę przy użyciu programowania obiektowego lub proceduralnego.
Najczęstszą przyczyną błędów kompilacji jest błąd składni. Błędy składniowe to błędy w postaci surowego kodu źródłowego, zwykle spowodowane naruszeniem zasad języka komputerowego. Błędy te mogą być tak proste, jak zapomnienie średnika na końcu wiersza kodu, lub tak złożone, jak niepoprawna inicjalizacja tablicy. Zwykle znalezienie i zdiagnozowanie tych błędów nie jest niezwykle trudne; większość kompilatorów pokazuje błędy w momencie ich napotkania i nie pozwala na tworzenie kodu maszynowego, dopóki błędy nie zostaną naprawione. Różne języki używają różnych kompilatorów, więc możliwe jest, że określony typ błędu kompilacji może występować w jednym języku, ale nie w innym.
W zależności od używanego języka i kompilatora jeden błąd kompilacji może wyświetlić tyle samo błędów. Na przykład zapomnienie średnika na końcu wiersza, gdy język tego wymaga, może spowodować błędy parsowania, ponieważ kompilator nie wie, kiedy dana linia ma się kończyć. Ten błąd parsowania może objawiać się wieloma błędami kompilacji, przez co wydaje się, że zamiast jednej małej literówki pojawiają się nagle przerażające problemy z kodem. Ogólnie rzecz biorąc, staranne przestrzeganie zasad języka komputerowego może zapobiec tego typu błędom. Z tego samego powodu, jeśli pojawi się nagły atak błędów kompilacji, doświadczony programista może zwykle wywnioskować, że większość z nich spowodowała jedna drobna pomyłka.
Powszechnym błędnym przekonaniem początkujących programistów jest to, że błąd kompilacji powoduje awarię komputera, a tak się nie dzieje. Błędy kompilacji ograniczają się do kompilatorów, a tworzenie kodu maszynowego rzadko powoduje problemy dla całego systemu komputerowego. Żaden program nie jest niezawodny, w tym kompilator, ale prawdopodobieństwo spowodowania problemów z całym komputerem przez samo kompilowanie kodu lub napotkanie błędu kompilacji jest bardzo małe. Po naprawieniu wszystkich błędów kompilacji istnieje duża szansa, że program będzie działał płynnie, tak jak powinien.