Am facut setat variabila (Proprietati sistem-Complex-Variabile de mediu),acolo am inclus adresa(path de la mingw)
Dar nu merge cand scriu comanda mingw32-make f-makefile.gcc BUILD=release SHARED=1 MONOLITHIC=1 UNICODE=1
Cum as putea rezolva?
wxWidgets nu prea e bine sa fie pus in “Program Files”. Dupa cum se poate vedea (‘Acces refuzat’), nu exista drepturi de scriere acolo. Instaleaza-l intr-un director c:\wxWidgets si o sa poti sa-l compilezi.
Ai rezolvat, dar se pare ca ai inţeles gresit rezolvarea
Un pic de offtopic:
Şi “.a” şi “.dll” sunt “biblioteci” (“library” din engleză înseamnă “bibliotecă” în română, “librarie” e cu totul altceva).
Diferenţa dintre “.a” şi “.dll” este ca primele sunt biblioteci “statice”, celelalte sunt “dinamice” (dll inseamna "dynamic link library). Bibliotecile statice sunt încorporate în programul final, in timp ce “dll”-urile rămân doar “legate”, odata cu programul va trebui sa-i livrezi beneficiarului si acele “dll”-uri, altfel programul n-o să funcţioneze.
Înapoi la topic: cel care “leagă” toate componentele programului tău este o unealtă care se cheama “linker” şi nu trebuie confundat cu compilatorul, compilatorul este cel care transformă codul C/C++ in cod-maşină.
Ei bine, linker-ul poate fi informat despre locaţia bibliotecilor in doua moduri: fie ii dai calea absolută (adică de genul “C:\wxwidgets\libwx.a”), fie ii indici folderul şi biblioteca (de genul -LC:\wxwidgets -lwx). Tu ai rezolvat folosind prima metodă, dupa ce iniţial ai incercat să foloseşti greşit a doua metodă.
Nu e chestie de importanţă, ci de modul în care vrei să fie programul tău livrat. Dacă foloseşti “.a”, aplicaţia ta va fi fară dependenţe, va fi un singur mare “.exe” (uneori executabilul poate deveni foarte mare, de ordinul zecilor de MB).
Dacă foloseşti “dll”-uri, aplicaţia va fi mică (de zeci sau sute de KB), dar trebuie mereu sa fie însoţită de acele dll-uri.
Avantajul la biblioteci statice este ca programul tau va fi standalone, il duci pe alt computer si va functiona fara probleme. Dezavantajul e ca daca ai vreo 10 programe facute cu acea bibliotecă, spatiul ocupat va fi foarte mare.
Dezavantajul la dll este ca va trebui sa ai dll-uri si pe calculatorul beneficiarului. Avantajul este ca trebuie sa-l ai intr-un singur exemplar, dll-ul va fi partajat. Daca ai 10 programe, o sa-ti ocupe in total 1MB + dimensiunea dll-ului.
De altfel, in sistemele de tip Linux, “dll”-urile au o denumire ceva mai intuitivă, se cheama “.so” (shared object, adică “obiect partajat”).