Зависимости от библиотеки

327
24 июня 2017, 12:45

Всем Здрасте, Есть задача: прилинковать С++ библиотеку без лишних зависимостей, то есть:

Есть библиотека lib1 эта библитека зависит от библиотеки lib2. Есть проект proj1 и proj2. Они оба зависят от и используют lib1.

Но proj1 использует функционал lib2 соответственно зависимость от этой библиотеки ему нужна. А proj2 не использует функционал lib2 соответственно зависимость от этой библиотеки ему не нужна.

Как прилинковать lib1 в proj2 и исключить зависимости от lib2?

Answer 1

Библиотека - это просто архив объектных файлов. В "традиционном" режиме линковка библиотек делается с точностью до индивидуальных объектных файлов. Если при линковке lib1 в proj2 удастся аккуратно "выхватить" из lib1 только те объектные файлы, которые не ссылаются на символы из lib2, то линковать lib2 в proj2 не понадобится вообще. Задача решена. Для этого обычно нужно, чтобы объектные файлы в lib1 были продуманно/аккуратно организованы и довольно тонко гранулированы.

Если же какие-то символы из lib2 все таки притянутся в proj2, то ничего не поделаешь: придется либо линковать lib2 в proj2, либо писать "заглушки" для этих символов.

READ ALSO
Ошибка в libclamav

Ошибка в libclamav

Прошу помощи с компиляцией clamav

275
C++ Цикл while…do работает на англ не работает на рус

C++ Цикл while…do работает на англ не работает на рус

Почему такая программа выполняется корректно:

321
Решение задачи. Modular Calculator

Решение задачи. Modular Calculator

Задача : http://wwwcodeabbey

287
Как определить хеш рейт GPU?

Как определить хеш рейт GPU?

Как определить хеш рейт GPU? Например с помощью алгоритма sha256Можно определить средствами cocos2d? Или нужно использовать OpenCL?

418