2016-11-09 4 views
1

Ich versuche, ein Programm von der Quelle zu kompilieren. In einem OpenSuse 12.1 chroot kompiliert das Programm Bußgelder, sondern in einem OpenSuse Sprung 42,1 chroot bekomme ich folgende Fehlermeldung:g ++: Fehler: nicht erkannte Befehlszeilenoption '-mt'

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

ich gesucht habe (sowohl hier als auch auf Google), aber nicht viele Informationen finden konnte auf die -mt-Flagge. Was ist diese '-mt'-Flagge?

+0

Kann nicht in der [GNU GCC-Optionsübersicht] (https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html#Option-Summary) gefunden werden. Vielleicht war es für einen anderen Compiler gedacht? –

+0

Das erste, was mir in den Sinn kommt, ist die MS Visual Studio/MT Multithread-Compiler-Option für statische Verknüpfungen. Wenn ich eine openSUSE 12.2 spinne, die mir am nächsten liegt, kann ich nichts in gcc finden. – user4581301

+0

Es scheint, als wäre es eine alte Option, siehe: https://gcc.gnu.org/onlinedocs/gcc-4.0.2/gcc/IA_002d64-Options.html. Kann es sicher durch die Pthread-Flagge ersetzt werden? Das funktioniert immer noch. – pydumm

Antwort

1

Dieses Flag wird zum Kompilieren und Verknüpfen von Multithread-Anwendungen verwendet.

Mit gcc sollten Sie -pthread sowohl zum Kompilieren als auch zum Verknüpfen verwenden, es ist kein -lpthread erforderlich.

Beim Kompilieren setzt -pthread die erforderlichen Makros, wenn es Links in den erforderlichen Bibliotheken verknüpft.

Verwandte Themen