2012-06-27 2 views
0

Когда я построить простую программу, связывающую pthread, у меня странная проблема:Во время C++ ссылки, библиотека не найдена в Ubuntu 12.04

При установке параметра -lpthread до исходного файла, он не в состоянии построить и возвращает

л.д. возвращается статус 1 выхода

Тем не менее, удается построить программу, когда я пишу параметр -lpthread наконец.

Я новичок, извините, что я не могу загрузить изображение. Ниже приведены две версии команды:

не удалось: gcc **-lpthread** maintest.cpp

В случае успешного: gcc maintest.cpp **-lpthead**

я столкнулся с той же проблемой в Ubuntu 11.04 и раньше, но я не мог воспроизвести проблему в Ubuntu 10.10.

Я не уверен, что это ошибка в новом Ubuntu или просто ограничение для нормализации Makefile?

+0

вы можете загрузить изображение в любую службу обмена, получить прямую ссылку и вставить ее здесь через тег изображения –

ответ

0

Это, безусловно, интересно.

Я нахожусь в Linux Mint 12, и они оба работают для меня.

Пробовал ли вы файл с расширением .c, а не cpp? Можете ли вы сделать это и опубликовать свой результат? (Я совершенно уверен, что это не имеет значения, но просто хочу проверить!)

Я не уверен на 100%, но я вполне уверен, что это не может быть ограничением для нормализации make-файла, потому что в Linux, вам не нужно иметь правильное расширение для файла, который должен быть скомпилирован с помощью правого компилятора. (Вот почему я совершенно уверен в вышеупомянутом заявлении). Используемый компилятор. Таким образом, логически, нет смысла ограничивать это, учитывая, что pthread будет просто загружен компилятором (библиотека будет связана), а затем он может перейти к компиляции источника. ЕСЛИ я не ошибаюсь (верьте мне кого-нибудь, если я есть!), То, по сути, это не будет иметь никакого значения, потому что флаг, расположенный в любом месте команды, будет загружать/связывать библиотеку перед компиляцией исходного файла.

Так что моя ставка будет на ошибку, но у меня нет источника, чтобы поддержать меня. Это просто логическая интерпретация! (Исправьте меня, если я ошибаюсь.)!

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