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ć.
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.
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.