#Fehler "SSE2-Befehlssatz nicht aktiviert", wenn <emmintrin.h>

Ich versuche zu kompilieren C++ - code mit cmake und make verwendet die include - <emmintrin.h> und erhalten die folgenden Fehler machen:

 #error "SSE2 instruction set not enabled"

Ich habe einen Intel Celeron-Dual-Core-Prozessor mit Linux (Mint), system (Kernel 3.5).

Laut Wikipedia der Celeron Dual-Core-fähig ist zum ausführen von SSE2-Anweisungen und die sse2-flag gesetzt nach /proc/cpuinfo. Aber der Autor diese Frage erwähnt eine begrenzte SSE-support des Intel Celeron.

Hab ich auch schon versucht, den SSE compiler-Optionen in meinem CMakeLists.txt:

set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-msse -msse2 -msse3")

..aber nichts änderte sich. cmake . funktioniert gut, aber make gibt die oben genannte Fehlermeldung.

Muss ich die Einstellungen ändern in CMakeLists.txt oder hat der Celeron Dual-Core einfach nicht (voll) unterstützt SSE2?

Haben Sie überprüfen Sie Ihre BIOS-Einstellungen? techarp.com/showfreebog.aspx?lang=0&bogno=259
Ja, mein BIOS hat keine Einstellungen zur Aktivierung oder Deaktivierung SSE.
cmake und make nicht anzeigen eins-zu-eins. Wenn Sie generiert makefile für make, pls stellen Sie sicher, es hat diejenigen, die SSE2-flags.
Haben Sie versucht, die set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse -msse2 -msse3") (beachten Sie die position der Anführungszeichen) oder set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2 -msse3")?
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2 -msse3") funktioniert! Danke!!! Haben Sie eine Idee, warum? Und bitte posten Sie Ihren Kommentar als Antwort, damit ich es akzeptieren können...

InformationsquelleAutor Suzana | 2013-05-07

Schreibe einen Kommentar