Ho compilato SFML usando CMake per MinGW. Dopo aver eseguito "mingw32-make install", tutto è compilato e installato senza errori. Ma quando si eseguono gli esempi - pong.exe, sound.exe, sound-capture.exe e voip.exe dipendono tutti da openal32.dll
.SFML non sta collegando staticamente a openal32 (link staticamente a tutte le altre dipendenze)
Ho specificato SFML_USE_STATIC_LIBS = true
durante la configurazione di CMake e tutte le altre dipendenze dell'eseguibile di esempio sono solo su dll nativi di Windows.
Qualcuno può spiegare perché ha collegato dinamicamente a openal32 (ma nient'altro)?
Modifica: Mi sono appena imbattuto in questa discussione http://en.sfml-dev.org/forums/index.php?topic=262.0 che sta discutendo esattamente lo stesso problema. Avrei pensato (dal momento che questo è del 2008) che questo sarebbe stato implementato ormai. O è ancora nella stessa situazione?
Modifica 2: Le risposte qui http://en.sfml-dev.org/forums/index.php?topic=18119.0 indicano che OpenAL deve essere collegato dinamicamente a causa della licenza. Qualcuno può confermare se la licenza consente o meno la distribuzione di openal32.dll con l'eseguibile?
Eccellente, grazie! Sono arrivato a conclusioni simili sui termini LGPL ma la tua risposta mi ha chiarito le cose immensamente. – Kvothe
Significa che se si dovesse collegare staticamente a una libreria con licenza LGPL, si dovrebbero rendere disponibili i file oggetto generati dal codice sorgente (ma non il codice sorgente stesso) in modo che l'utente possa ricollegarli insieme a un versione diversa della libreria statica? – Kvothe
Lo dice direttamente nella licenza LGPL stessa: _Se colleghi un programma alla libreria, devi fornire i file oggetto completi ai destinatari in modo che possano ricollegarli con la libreria, dopo aver apportato modifiche alla libreria e ricompilandola._ –