У меня есть проблемы с перекрестными компиляциями некоторых источников c++, содержащих инструкцию sse. Мне удается скомпилировать их для симулятора (без дополнительного флага c++), но для armv7 я получаю следующую ошибку:
#error "SSE instruction set not enabled"
( and following other errors such as:
... unknown type name '__m128'
)
Я заглянул в флаги clang для флага, чтобы активировать sse-инструкции, но не нашел
(исходный файл, который я пытаюсь скомпилировать, - gdalgrid.cpp в проекте gdal, http://fossies.org/dox/gdal-1.10.1/gdalgrid_8cpp_source.html)
спасибо заранее
Аналогичная проблема; пытаясь скомпилировать "make" приложение для кошелька Altcoin на аппаратном оборудовании ARM7, компилятор gcc запускает
/usr/share/gccxml-0.9/GCC/4.7/xmmintrin.h:32:3: error: #error "SSE instruction
set not enabled"
src/scrypt_mine.cpp: In function ‘void* scrypt_buffer_alloc():
src/scrypt_mine.cpp:66:19: error: ‘SCRYPT_BUFFER_SIZE was not declared in this scope
src/scrypt_mine.cpp: In function ‘void scrypt(const void*, size_t, uint32_t*, void*):
src/scrypt_mine.cpp:87:21: error: ‘scrypt_core was not declared in this scope
Makefile:1909: recipe for target 'build/scrypt_mine.o' failed
make: *** [build/scrypt_mine.o] Error 1
Я думаю, что происходит то, что некоторые реализации scrypt получили настолько полную зависимость от sse инструкций на одном бренде процессора, что они не будут компилироваться для другого.
Теперь решение требует лучшего ответа от людей Litecoin, поскольку то, что я получил, применимо только к биткойну и другим монетам sha256d: Ditch любых мошенников на основе scrypt, поскольку они ограничены определенной маркой процессора, которая делает sse. Скомпилируйте монеты на основе sha256d, поскольку они более портативны, и кошельки могут работать на устройствах ARM7, включая малиновый пи.