2010-06-13 1 views
0

Я хочу написать программу, которая выводит список библиотек, которые я должен ссылаться на файлы с исходными кодами (или объектами) (для программ на C или C++).Как найти, к каким библиотекам обращаться? или, как я могу создать * -config (например, sdl-config, llvm-config)?

В * nix есть полезные инструменты, такие как sdl-config и llvm-config. Но я хочу, чтобы моя программа тоже работала на Windows.

Использование:

get-library-names -l /path/to/lib a.cpp b.cpp c.cpp d.obj 

Затем get-library-names бы получить список имен функций, которые вызываются из a.cpp, b.cpp, c.cpp и d.obj. И он будет искать все файлы библиотеки в каталоге /path/to/lib и библиотеки списков, которые необходимы для правильной связи.

Есть ли такой инструмент уже написан? Разве нетрудно написать такой инструмент? Как вы находите, к каким библиотекам вы должны подключиться?

Спасибо.

ответ

0

Да, вы можете создать файл pkg-config, который позволит вам запустить «pkg-config -cflags», чтобы получить флаги компилятора или «pkg-config -libs», чтобы получить библиотеки компоновщиков.

http://pkg-config.freedesktop.org/wiki/

Если вы на Linux, просто попробуйте найти в/USR/Lib/pkg-config, чтобы найти пример .pc файлов, которые можно использовать в качестве моделей. Вы также можете использовать pkg-config для Windows, но это не то, что приходит с ним.

+1

Похоже, вам нужны флагов жесткого кода. Например, в .pc-файле Libs: -lfoo -lbar ... Мне было интересно, можно ли получить имена библиотек, перейдя исходный код и файлы разделяемой библиотеки. – numeric

Смежные вопросы