Per collegare un file eseguibile con una libreria che risiede in un percorso standard, si può fare quanto segue in un file CMakeLists.txt:Come trovare una libreria con cmake?
create_executable(generate_mesh generate_mesh.cpp)
target_link_libraries(generate_mesh OpenMeshCore)
questo funzionerebbe se la libreria, che è collegata contro, è stata posta in
/usr/local/lib/libOpenMeshCore.dylib
Tuttavia, in questo caso la libreria risiede sotto
/usr/local/lib/OpenMesh/libOpenMeshCore.dylib
Come posso specificare che shou target_link_libraries Davvero un collegamento con una biblioteca collocata in una sibdirectory? Mi chiedo che ci sia qualche opzione utile per target_link_libraries che specifichi che la libreria si trova in una sottodirectory in una posizione standard, ad es.
target_link_libraries(generate_mesh OpenMesh/OpenMeshCore)
Se ciò non fosse possibile, c'è un modo per utilizzare find_library per cercare /usr/local/lib
ricorsivamente, comprese le sue sotto-directory, per il dato file di libreria?
Ha funzionato un piacere per me grazie! – alexr