Strona główna > Poradniki > Błędy podczas kompilacji

Poradniki - Błędy podczas kompilacji

Podczas pierwszych kompilacji możemy spotkać się z różnymi nieoczekiwanymi błędami. Poinżej przedstawiam najczęściej występujące i jak się ich pozbyć.

Kompilacja z użyciem MVS 2005

1. errir c2440: 'initializing': cannot convert from 'const char *' to 'char *'

Kompilator środowiska MVS 2005 jest bardziej restrykcyjny od swojego poprzednika i nie pozwala na nie jawne rzutowanie stałych wskaźników na wskaźniki zwykłe. Niestety takie przypadki mamy w pliku "plug_defs.cpp". Aby usunąć błąd należy użyć skłądni const_cast<>. Najlepiej użyj, wersji tego pliku dostarczonego z kAPI. Przykład dla jednej z błednych linni.

Błędna linia: char * start = strstr(ext, find);
Poprawna linia: char * start = const_cast<char *>( strstr(ext, find) );

2. worning c49996: 'strcpy': wos declared deprected

To jest tylko ostrzeżenie. Mówi ono, że dana funkcja została uznana za przestarzałą i należy użyć jej nowszej wersji. Możemy tego dokonać ale wtedy projekt nie skompiluje się w starszych środowiskach, które nie posiadają nowszych wersji danej funkcji.

Kompilacja z użyciem biblioteki kAPI

1. error LNK2001: unresolved external symbol "public: static char const * const kAPI::Wtyczka::NAME" (?NAME@Wtyczka@1kAPI@@2QBDB)"

Ten błąd i kilka podobnych uzyskamy jeśli nie zadeklarujemy statycznych pól klasy kAPI::Wtyczka, które nie są domyślnie inicjalizowane. Dzięki temu nigdy nie zapomnisz o inicjalizacji tych pól. Więcej tu.


Twórcą projektu kAPI, serwisu oraz materiałów w nim zawartych jest KoSiarz. Kopiowanie zabronione.