2013-03-01 2 views
0

그래서 일부 코드 (Bullet Physics 데모가 구체적 임)를 컴파일하려고 시도했는데 SSE와 SSE2가 활성화되지 않았다는 오류가 발생했습니다. 나는 Code :: Blocks에서 컴파일러 플래그를 검사했고 SSE/SSE2는 거기에 없었다. 플래그를 "다른 옵션"(-msse, -msse2) 대신 넣으려고했는데 작동하지 않았습니다.Code :: Blocks에서 SSE/SSE2를 활성화하는 방법은 무엇입니까?

그런 다음 "행진 = 기본"시도를 말한 stackoverflow의 게시물을 보았습니다. 그것도 작동하지 않았다.

저는 G ++ (MinGW)를 사용하여 컴파일하고 있으며 Windows 7 x64를 사용 중입니다.

의미가 있다면 프로젝트에서 맞춤 메이크 파일을 사용하고 있습니다.

+2

"작동하지 않음"-'-msse2'가 확실히 작동해야합니다. 나는 Code :: Blocks에 익숙하지 않다. (필자는 몇 년 전에 IDE를 사용해 봤지만 사용하지 않았다. 나는 "emacs + command line"타입이다.) "custom makefile "은'Code :: Blocks'에 의해 생성되지 않은 메이크 파일을 가지고 있다는 것을 의미합니다. 그러면 설정에서 어떤 것들이 효과를 얻지 못하는지 설명 할 수 있습니다. 메이크 파일 자체에'-msse2'를 추가해야합니다. –

답변

1

이 작업을하려면 march을 SSE2를 지원하는 것으로 설정해야합니다 (예 : Pentium4 또는 Core2, x86_64에서 실행 중이므로 "native"도 수행 할 수 있지만 실제로는 사용하지 않았 음). "native") -msse2을 통해 SSE2를 활성화합니다.

그러나 : 사용자 지정 메이크 파일을 사용하기 때문에, 당신은 당신의 메이크 파일이 을 수행해야 하거나 환경 변수를 (환경 난 그냥보고, 바르, 그리고 당신이 거의 모든 것을 제어 할 수 있습니다 것 잊지 사용해야합니다 타겟/최적화 옵션 제외).

코드 :: 블록은 프로젝트 파일에서 컴파일 할 때 컴파일러 옵션을 설정하지만 사용자 정의 메이크 파일을 사용할 때는 컴파일러 옵션을 설정하지 않습니다. 커스텀 메이크 파일의 경우, 여러분이하고있는 일과 makefile이 "올바르게 작동한다"는 것을 알고 있다고 가정합니다.
다른 말로하면, 원하는 옵션을 설정할 수 있으며 cutom makefile을 사용하는 한 아무런 효과가 없습니다.

+0

좋습니다, 감사합니다. 그걸 찾는데 도움이 됐어. 분명히이 사람들은 makefile의 문자열 (dunno why, really odd)을 사용하고 있었고, 하나는 flags.make라는 파일을 가지고있었습니다.이 파일에는 프로젝트의 모든 플래그가 있습니다. – BananasGoMoo

관련 문제