Ho costruito un progetto utilizzando cmake e alcune librerie. Desidero tuttavia aggiungere alcuni file di intestazione e cpp nel progetto che andrò a codificare. Qual è il modo più semplice per farlo? Posso semplicemente creare un file .cpp e header e quindi creare nuovamente un progetto in Visual Studio? O a causa del fatto che il progetto è stato costruito usando cmake non posso?Aggiunta di intestazione e file cpp in un progetto creato con cmake
risposta
È possibile inserire tutti i file di intestazione/origine nella stessa cartella e usare qualcosa come
file(GLOB SOURCES
header-folder/*.h
source-folder/*.cpp
)
add_executable(yourProj ${SOURCES})
In questo modo, si può fare uno dei seguenti due metodi per aggiungere nuovi aggiunto intestazione/sorgente in VS:
- necessario generare nuovamente in CMake.
- falso per modificare leggermente lo
CMakeLists.txt
, ad es. semplicemente aggiungi uno spazio. E poi costruisci la tua soluzione in VS, aggiungerà automaticamente nuovi file header/sorgente.
ma questo non include, ad esempio 'header-folder/anotherdir/someheader.h'. Come risolverlo? – dimitris93
@Shiro È possibile aggiungere qualcosa come 'header-folder/anotherdir/*. H' a quanto sopra o utilizzare [sottodirectory CMake] (http://stackoverflow.com/q/7787823/2589776). – herohuyongtao
'GLOB_RECURSE' invece di' GLOB' cerca anche nelle sottodirectory! Era quello di cui avevo bisogno. – dimitris93
è necessario aggiungere ogni file .h
e .cpp
a CMakeList.txt in questo modo:
# Local header files here ONLY
SET(TARGET_H
Header.h
Plugin.h
messagelog.h
win32application.h
timer.h
)
# Local source files here
SET(TARGET_SRC
Plugin.cpp
messagelog.cpp
win32application.cpp
timer.cpp
)
quindi configurare e costruire di nuovo la soluzione e ricaricarlo in VS.
Sì, ma ogni volta che voglio aggiungere un'intestazione nea o un file .cpp devo ricostruire l'intero programma usando cmake.Can faccio qualcosa per ottenere ciò tramite Visual Studio? – mariosbikos
Non ho un ambiente Windows a portata di mano, ma almeno su linux, cmake viene chiamato automaticamente quando provate a creare le vostre fonti. Tranne che per il primo tempo di configurazione cmake, è trasparente per le successive modifiche a qualsiasi file CMakeLists.txt. –
Anche se è una risposta tardiva e l'ho appena visto. Sto usando CLion IDE da JetBrains, che aggiunge questi header e file .cpp automaticamente quando li crei. Altrimenti potrebbe non essere il tuo bisogno, potrebbe essere utile per gli altri popoli che lo vedono.
- 1. Aggiunta di file a source_group in CMake
- 2. Aggiunta di librerie compilate e inclusione di file in un progetto CMake?
- 3. Ricerca CMake ricorsiva per i file di intestazione e origine
- 4. CMake: aggiunta di arugmenti della riga di comando al progetto
- 5. CMake e percorsi di intestazione assoluti
- 6. Utilizzo di cpp-netlib in un progetto C++ in Windows
- 7. CMake + Cuda: compila file cpp in modalità Cuda (--x = cu)
- 8. Come verificare in cmake se un dato file di intestazione è disponibile per il progetto C++
- 9. Incluso .cpp alla fine del file di intestazione del modello
- 10. dividere automaticamente (refactoring) .h in intestazione e implementazione (h + cpp)
- 11. Includere cpp invece di intestazione (h)
- 12. È buona norma creare sempre un file .cpp per ogni .h in un progetto C++?
- 13. Generare un progetto ridistribuibile con CMake
- 14. Aggiunta di un progetto senza ARC nel progetto con ARC
- 15. CMake: come aggiungere cuda al progetto esistente
- 16. Definizione del costruttore nel file di intestazione VS file di implementazione (.cpp)
- 17. Genera origine .cpp da un file .h
- 18. CMake e Latex
- 19. VS2008: Posso creare un progetto con 2 file CPP con lo stesso nome in diverse cartelle?
- 20. abilitazione del controllo file di intestazione cpp con syntastic in vim
- 21. Aggiunta intestazione risposta in Servo
- 22. Includendo glib.h in un progetto CMake
- 23. cMake SOURCE_GROUP più file?
- 24. Aggiunta intestazione personalizzata al file excel
- 25. Aggiunta di LLVM al mio progetto Cmake: Perché ci sono percorsi codificati nel file Cmake di LLVM?
- 26. CMake e FindProtobuf
- 27. LTO con LLVM e CMake
- 28. Progetto QtCreator CMake - come mostrare tutti i file di progetto
- 29. Aggiunta di file a CMake ma non li compila
- 30. Aggiungere origine in una sottodirectory a un progetto cmake
Hai provato? Penso che tu possa controllare se non puoi farlo da solo. – Shondeslitch
Raccontaci cosa hai provato. CMake viene fornito con un generatore di progetti Visual Studio: se lo si utilizza e quindi si carica il progetto in Visual Studio, Visual Studio dovrebbe essere in grado di chiamare cmake automaticamente ogni volta che si modificano i file cmake, ad esempio per aggiungere un nuovo file sorgente. Nota: di solito non è necessario fare nulla in particolare se si aggiunge una nuova intestazione, solo se si aggiunge un nuovo file sorgente. – Antonio