Bună ziua!
Dezvoltarea unui pic de tot cu Visual Studio ispolzovvaniem (13), și este chinuit în mod constant de caracteristica de asamblare sub Windows, care este după cum urmează: să funcționeze corect pe un alt computer, trebuie să raporteze la biblioteca mânere că aplicația cere ieșirea. În același timp, în cazul în care cererea este pe cale de a elibera și rulează, apoi Studio podkadyvaet automat bibliotecile necesare care au folosit aplicația pentru a începe.
Ce trebuie făcut pentru a se asigura că studioul a copiat toate bibliotecile necesare pentru a lucra într-un dosar lângă ehe-shnik?
În mod normal, în studioul ăsta nu este prevăzută nimic asemănător. Se presupune că dezvoltatorul însuși știe care biblioteci sunt folosite în proiectul său și că le administrează.
Cu toate acestea, există biblioteci care pot fi legate implicit, în timp ce metoda de conectare (statică / dinamică) poate fi configurată în parametrii proiectului:
- CRT - configurabilă de parametrul "C / C ++ \ Code Generation \ Runtime Library", implicit conectarea dinamică este activată și datorită faptului că începătorii au probleme cu distribuția de software; dacă permiteți conectarea statică, atunci nu este nevoie să trageți DLL-ul.
- MFC - este setat la "General \ Use of MFC", nu este utilizat în mod implicit
- ATL - configurabilă "General \ Utilizarea ATL", care nu este utilizată implicit
A doua problemă este că atunci când DLL-ul este încărcat automat, este necesar ca toate bibliotecile din aceleași binare să fie conectate identic. Aceasta înseamnă, de exemplu, că dacă QT este conectat dinamic cu CRT, atunci binarul nostru ar trebui să lege CRT dinamic. Acest lucru poate fi eludat dacă nu încărcați manual și automat DLL-ul, dar hemoroizii se vor dezvolta de mai multe ori. Este mai ușor să mărești puțin dimensiunea instalației, îmi vine să cred.