Statici collegamenti libreria in wxWidgets staticamente, ma le app che utilizzano il mio lib richiedono ancora wxWidgets

StackOverflow https://stackoverflow.com/questions/1916782

Domanda

Speriamo che qualcuno mi può aiutare qui. Sto usando Visual Studio 2005 e la creazione di una libreria statica che collega in modo statico wxWidgets. Ho:

  1. wxWidgets compilati staticamente in base alla loro guida
  2. inclusa la directory lib nei miei "Directory libreria aggiuntiva" proprietà
  3. aggiunto tutti delle librerie wxWidget nel mio "Dipendenze aggiuntive" proprietà
  4. impostare la mia proprietà "Link Library dipendenze" a "Yes"
  5. set C ++ Ottimizzazione su Disabilitato.

So che alcuni di questi passi non dovrebbe essere fatto, l'ho fatto su un "just in case" razionale.

Mentre la mia libreria compila senza intoppi, l'applicazione di test che include la mia lib statica si lamenta durante il collegamento che non riesce a trovare 'wxbase28.lib' (che ho incluso).

Vorrei sottolineare che io Sottratto wxWidgets fuori completamente, in modo da API pubblica della biblioteca non ha alcuna menzione di tutto ciò wxWidget legate. L'applicazione di prova non deve sapere che esiste wxWidgets.

La mia piccola biblioteca è cresciuto fino a oltre 51 MB, in modo da avere la sensazione che le librerie siano collegati in modo ... perché il mio applicazione di test si lamentano che non è possibile trovare la libreria wxWidgets?

Grazie

È stato utile?

Soluzione

E 'il passo di collegamento nel processo di generazione che tira librerie dipendenti in:. Quando si genera una libreria statica, non tira in tutte le dipendenze ricorsive in quanto non v'è alcun punto di collegamento

in modo che entrambi - i tuoi - e WX di - librerie statiche devono essere presenti poi per l'applicazione finale per collegare

.

Altri suggerimenti

Odio suggerire l'ovvio, ma è wxbase28.lib elencati nella lista delle dipendenze della vostra applicazione di test?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top