Sto utilizzando CMake per creare una libreria condivisa tramite Visual Studio 2010. La soluzione restituisce un file dll, ma non un file lib corrispondente. Come faccio a dire a CMake di generare il file lib in modo da poter collegare altri progetti alla DLL?Come posso ottenere CMake per creare una DLL e il suo file lib corrispondente?
19
A
risposta
23
Prima di tutto verificare di avere almeno un simbolo esportato nella libreria condivisa. Visual Studio non genera il file .lib
se dll non esporta simboli.
Successivamente, controllare i file cmake - probabilmente è stata impostata la variabile CMAKE_ARCHIVE_OUTPUT_DIRECTORY
o la proprietà ARCHIVE_OUTPUT_DIRECTORY
della destinazione della libreria condivisa. Se questa variabile/proprietà è impostata, Visual Studio invierà i file .lib
nella diversa directory specificata da tale variabile/proprietà. (Ci possono anche essere versioni specifiche della configurazione come ARCHIVE_OUTPUT_DIRECTORY_Release
.)
Problemi correlati
- 1. File DLL e LIB
- 2. File DLL e LIB: cosa e perché?
- 3. Converti lib + header file in DLL
- 4. Come creare una risorsa dll
- 5. Come posso aprire un file temporaneo E ottenere il suo nome file?
- 6. Come sono i file di intestazione (.h), file di libreria (.lib) e DLL (.dll) relativi a
- 7. Come posso creare un regex "progressivamente corrispondente"?
- 8. Ottenere CLSID per un file DLL?
- 9. Come si costruisce una libreria di importazione (.lib) E una DLL in Visual C++?
- 10. Dato un nome di proprietà, come posso creare un delegato per ottenere il suo valore
- 11. .lib e .dll Compatibilità con versioni precedenti
- 12. Come posso creare sia un file .lib che un file .exe in Visual C++?
- 13. Come creare file oggetto solo una volta con cmake?
- 14. Come convertire una DLL dinamica in lib statica?
- 15. Come aggiornare una DLL C++ senza dover ricollegare l'exe con il file lib?
- 16. Perché alcuni file DLL richiedono un file .lib aggiuntivo per il collegamento?
- 17. Posso incorporare altri file in una DLL?
- 18. Posso iniettare una DLL nella JVM e ottenere JNIEnv?
- 19. Compatibilità * .dll * .a * lib * .def tra VisualStudio e gcc
- 20. Utilizzando CMake, come posso concatare i file e installarli
- 21. Ottenere il nome di una DLL dalla dll
- 22. Collegamento di più file .lib statici in un file .lib monolitico utilizzando VS2008 SP1 utilizzando CMake 2.8.x
- 23. Data una DLL COM, estrarre tutte le classi CLSID e il nome dell'interfaccia corrispondente
- 24. Utilizzare DLL in C senza lib
- 25. Come creare una dll come shell32.dll che contiene Icons
- 26. Come utilizzare DLL esterne nel progetto CMake
- 27. Come compilare CMake per ARM con CMake
- 28. Come posso installare una gerarchia di file usando cmake?
- 29. Libreria statica C++: come creare un file .lib?
- 30. Come ottenere CMake per riconoscere pthread su Ubuntu?
Non stavo esportando alcuna funzione. Grazie! –