Ответ 1
Вы можете попробовать запустить ldd
в исполняемом файле и посмотреть, будет ли обнаружено сопровождающее .so, как требуется в списке зависимостей.
Страница ldd man здесь.
У меня есть статическая и динамическая библиотека с тем же именем: libclsocket.a и libclsocket.so Когда я указываю, какую библиотеку я хочу связать, я просто ввожу -lclsocket в качестве библиотеки. Моя программа соответствует и работает отлично, но какую библиотеку я использую? статическая библиотека или динамическая библиотека? Я хочу дать моему другу свою программу, и я не уверен. Если мне нужно включить библиотеки в релиз. С++, codelite, pcLinuxOS 2010
Вы можете попробовать запустить ldd
в исполняемом файле и посмотреть, будет ли обнаружено сопровождающее .so, как требуется в списке зависимостей.
Страница ldd man здесь.
Если вы используете флаг -static
, все компоненты будут сделаны статическими. И -l
может включать разделяемые библиотеки. Таким образом, указание имени файла статической библиотеки (например, /usr/lib/libfoo.a
, например, -l
preended), должно получить желаемый эффект.