Qt를 사용 중이고 ttmath library을 포함하고 싶습니다.'asm'의 일관되지 않은 피연산자 제약
: 코드의.../ttmathuint_x86.h:637: error: inconsistent operand constraints in an 'asm'
: "cc", "memory");
^
제품과 같습니다 : 그것은 내가 지금 우분투에 Qt는 제작자를 사용하고 나는 그것이 나에게 다음과 같은 오류를 제공하는 프로젝트를 컴파일 할 때 Windows XP 및 Windows 7에서 잘 테스트 내가 마지막 예제에서처럼 내 프로젝트에 파서를 추가 할 때
#ifdef __GNUC__
uint dummy, dummy2;
__asm__ __volatile__(
"xorl %%edx, %%edx \n"
"negl %%eax \n" // CF=1 if rax!=0 , CF=0 if rax==0
"1: \n"
"movl (%%esi,%%edx,4), %%eax \n"
"sbbl %%eax, (%%ebx,%%edx,4) \n"
"incl %%edx \n"
"decl %%ecx \n"
"jnz 1b \n"
"adc %%ecx, %%ecx \n"
: "=c" (c), "=a" (dummy), "=d" (dummy2)
: "0" (b), "1" (c), "b" (p1), "S" (p2)
: "cc", "memory");
#endif
오류는 여기 만 보여줍니다 : http://www.ttmath.org/samples
내가 어셈블리 또는 컴파일 과정에 대해 거의 알고 있기 때문에 문제가 해결되지 않는 이유를 나는 모른다.
인터넷에서 ".pro"파일에 QMAKE_CXXFALGS = -fno-gcse를 추가하는 것이 해결책이라고 읽었지만 작동하지 않습니다.
이것은 32 비트 빌드입니까? –
정확히 어느 버전의 컴파일러를 사용하고 있습니까? –
예, 32 비트입니다. Qt 5.0.2 (GCC 4.7.3, 32 비트)를 기반으로합니다. –