Kategoria: Programowanie
Updated on 2 kwietnia, 2018
Arduino – zdalnie sterowany robot
Celem projektu jest zbudowanie robota, który będzie potrafił samodzielnie poruszać się w zamkniętych pomieszczeniach (w mieszkaniu). Robot powinien być świadomy swojej aktualnej pozycji oraz reagować na zmieniające się otoczenie (nowe przeszkody na trasie przejazdu). Sercem robota jest Arduino Uno …
Updated on 9 sierpnia, 2014
Android NDK – std::string generuje SIGSEGV
Jest to spowodowane sposobem linkowania STL. W pliku jni/Application.mk ustawiamy zmienną APP_STL na gnustl_shared.
1 |
APP_STL := gnustl_shared |
Updated on 3 lipca, 2014
CMake – Could NOT find OpenGL
Jeżeli CMake nie potrafi znaleźć bliboteki OpenGL w Ubuntu:
1 2 3 4 5 6 |
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find OpenGL (missing: OPENGL_gl_LIBRARY OPENGL_INCLUDE_DIR) Call Stack (most recent call first): /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE) /usr/share/cmake-2.8/Modules/FindOpenGL.cmake:161 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:68 (find_package) |
to wystarczy zainstalować poniższy pakiet:
1 |
sudo apt-get build-dep |
i uruchomić ponownie CMake’a:
1 |
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libGL.so |
Updated on 2 kwietnia, 2018
CocosStudio – błąd missing-font.fnt
Nazwa pliku „missing-font.fnt” pojawia się, gdy nazwa pliku z definicją czcionki rastrowej jest niż nazwa pliku z bitmapą. Jeżeli plik z definicją nazywa się times.fnt, a plik graficzny times_0.png, to otrzymamy błąd. Należy zmienić nazwę jednego z plików …
Updated on 2 kwietnia, 2018
Autocompleter – wydajne i elastyczne automatyczne uzupełnianie treści
Obecnie prawie każda strona WWW posiada wyszukiwarkę. Nieodłącznym elementem wyszukiwarki jest funkcja podpowiadania (lub przewidywania) tekstu wpisywanego przez użytkownika. Wiele stron jest wykonanych przy użyciu PHP oraz MySQL. Wykonanie mechanizmu podpowiadania treści w języku PHP jest proste, ale …
Updated on 2 kwietnia, 2018
Miners
Przedstawiam pierwszą wersję niewielkiej gry o nazwie Miners. Gra polega na zarządzaniu grupą stworzeń, które bardzo lubią kopać tunele w ziemi oraz zwiedzać jaskinie. Niestety, w podziemiach oprócz cennych klejnotów znajdują się pułapki oraz niebezpieczne potwory. Jako gracz, …
Updated on 2 kwietnia, 2018
Microsoft Visual C# Express – błąd przy debuggowaniu aplikacji z argumentami linii poleceń
Gdyby podczas debuggowania naszej aplikacji próbujemy przekazać do naszej aplikacji dodatkowe argumenty wprowadzane przez linię poleceń (Project – Properties – Debug – Command line arguments), możemy otrzymać poniższy komunikat:
1 |
The current project settings specify that the project will be debugged with specific security permissions. In this mode, command line arguments will not be passed to the executable. Do you want to continue debugging anyway? |
Problem możemy rozwiązać następująco: Otwieramy właściwości projektu (menu …
Updated on 2 kwietnia, 2018
OpenCL tutorial – część 4
Na koniec przedstawię obiektowe API OpenCL dla języka C++. Jedyne co musimy zrobić, to pobrać plik „cl.hpp” ze strony Khronosa i umieścić go w tym samym katalogu co plik „cl.h”, czyli „dependencies\OpenCL\include\CL”. Poniższy przykład wykonuje takie same operacji …
Updated on 2 kwietnia, 2018
OpenCL tutorial – część 3 – sumowanie wektorów
W kolejnej części wprowadzenia do OpenCL wykonamy i uruchomimy pierwszy program na GPU. Zadaniem programu będzie sumowanie dwóch wektorów. Przykładowy kod w C++ dla takiej operacji może wyglądać tak:
1 2 3 4 5 6 7 8 9 10 |
const int vectorSize = 10; int a[vectorSize]; int b[vectorSize]; int c[vectorSize]; for (int i = 0; i < vectorSize; ++i) { c[i] = a[i] + b[i]; } |
Pobieramy kod z poprzedniej części kursu. Na początku …
Updated on 2 kwietnia, 2018
OpenCL tutorial – część 2 – listowanie dostępnych urządzeń
Przed nami druga część wprowadzenia do OpenCL. W tej części pokażę jak sprawdzić czy nasz sprzęt obsługuje OpenCL. Naszym zadaniem jest wypisanie wszystkich urządzeń zainstalowanych w naszym komputerze, które wspierają OpenCL. Na początek pobierzemy liczbę platform:
1 2 3 4 5 6 |
cl_int error = CL_SUCCESS; // Get platform number. cl_uint platformNumber = 0; error = clGetPlatformIDs(0, NULL, &platformNumber); |
Zmienna …