2016-11-09 6 views
1

Я пытаюсь скомпилировать программу из источника. В OpenSUSE 12.1 Chroot программа собирает штрафы, но в OpenSuse високосного 42,1 Chroot я получаю следующее сообщение об ошибке:g ++: ошибка: непризнанная опция командной строки '-mt'

g++: error: unrecognized command line option '-mt' 

Я искал (и здесь, и на Google), но не смог найти много информации о флаг -mt. Что это за флаг «-mt»?

+0

Невозможно найти в [GNU GCC options summary] (https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html#Option-Summary). Может быть, это предназначалось для другого компилятора? –

+0

Первое, что приходит мне в голову, это многопоточная статическая компоновка компоновщика MS Visual Studio/MT. Скручивая openSUSE 12.2, ближе всего я легко под рукой, я ничего не могу найти в gcc. – user4581301

+0

Кажется, что это старый вариант, см. Https://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/IA_002d64-Options.html. Можно ли безопасно заменить флаг pthread? Это еще работает. – pydumm

ответ

1

Этот флаг используется для компиляции и связывания многопоточных приложений.

С gcc вы должны использовать -pthread для компиляции и связывания, нет -lpthread.

При компиляции -pthread задает необходимые макросы при связывании ссылок в необходимых библиотеках.

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