Chcę, aby mój plik wykonywalny łączył bibliotekę współużytkowaną (libmy_so.so), która z kolei została zbudowana za pomocą biblioteki statycznej (libmy_static_lib.a). Kiedy zrobićDlaczego cmake_link_libraries zawierają statyczne biblioteki?
target_link_libraries(my_exe my_so)
widzę, że podczas kompilacji cmake dodał libmy_static_lib.a na linii budowlanej. Nie jest to coś, czego chcę i nie rozumiem, dlaczego jest to potrzebne. Czy jest jakiś sposób obejścia tego? LINK_PRIVATE
nie robi żadnej różnicy.
Używam CMake 2.8.9.
prywatnej nie wydają się istnieć dla CMake 2.8, a LINK_PRIVATE nie działa dla mnie. To znaczy, otrzymuję takie samo zachowanie, jak bez LINK_PRiVATE – Rolle
@Rolle Right, jest to funkcja wymagająca co najmniej CMake 2.8.11. W przypadku wcześniejszych wersji obawiam się, że będziesz musiał ręcznie zetrzeć właściwości docelowe. Sugerowałbym jednak, aby uaktualnić swoją wersję CMake, jeśli to możliwe. – ComicSansMS
'LINK_PRIVATE' powinno działać poprawnie z CMake 2.8.9. – steveire