У меня есть некоторый код на c, который предоставляет libfoo.so и libfoo.a вместе с заголовочным файлом foo.h. Большое количество клиентов в настоящее время используют эти библиотеки из каталогов / old_location / lib и / old_location / include, где они находятся.
Теперь я хочу переместить этот код в / new_location. Однако я не могу информировать клиентов об этом изменении. Я бы хотел, чтобы старые клиенты продолжали получать доступ к библиотекам и заголовкам из /old_location.
Для этого будет работать создание символических ссылок на библиотеки / заголовки для новых локаций?
/old_location/lib/libfoo.so -> /new_location/lib/libnewfoo.so
/old_location/lib/libfoo.a -> /new_location/lib/libnewfoo.a
/old_location/inlcude/foo.h -> /new_location/inlcude/foo.h
[Обратите внимание, что мне нужно назвать новую lib как lib new foo, а не libfoo из-за некоторых ограничений. Может ли это переименование вызвать проблемы? И все же код C, который их генерирует, не изменился.]
Кажется, это работает для нескольких простых случаев, которые я пробовал. Но могут ли быть случаи, когда клиенты используют библиотеки libs и headers таким образом, который может сломаться в результате этого изменения. Пожалуйста, дайте мне знать, какие сложности могут быть связаны с этим. Извините, если это кажется новичком, я с трудом раньше работал с c и являюсь Java-человеком.