Ха, это звучит сложнее, чем есть на самом деле. Вот что я имею в виду:
Предположим, я пишу приложение, которое использует потоки. В этом приложении я не использую pthreads
напрямую, но я использую оболочку, которая использует pthreads
. Таким образом, в make-файле этой оболочки должен быть включен -lpthread
. И вопрос - мне нужно включить -lpthread
в мой проект, или это не нужно? Или это зависит? Если да, то на чем?
Я спрашиваю это, потому что я видел это много, и я не думаю, что это необходимо .. То же самое для -std=c++0x
?
Кроме того, у меня возникла проблема с интерфейсом Informix C ++, так как он опирается на lib, называемый DMI
, который построен поверх ESQL/C
. Когда я удалил эти библиотеки и использовал только реальную, у меня возникли проблемы с компоновщиком (проблемы с поиском библиотек). Когда я добавил dmi
и esql/c
, все было хорошо.
Это отвечает на мой вопрос (с "ДА"), или я мог сделать что-то не так, кроме этого (я новичок в makefiles (:)
source : «Makefile-ы - загадочная тема: одна шутка гласит, что в мире есть только один make-файл и что все остальные make-файлы являются его просто расширением. Уверяю вас, однако, что это неправда; я время от времени писал свои собственные make-файлы. "
Это заставило меня задуматься, нужны ли все включенные библиотеки в make-файлы (проектов моей компании), или это по "историческим причинам"
EDIT : Обертка вокруг pthread
связана статически, а библиотека Informix
была динамически связана, если это имеет значение.
Кроме того, ОС RHEL (4 и 5), но мне нужно знать, зависит ли это от ОС и способа компоновки (динамического или статического)