如何在Code :: Blocks上启用SSE / SSE2?

时间:2013-03-01 11:52:32

标签: c++ mingw codeblocks bulletphysics

所以我试图编译一些代码(Bullet Physics演示是特定的),并且出现了一个错误,表示SSE和SSE2未启用。我检查了Code :: Blocks中的编译器标志,而SSE / SSE2不在那里。我尝试将标志放在“其他选项”中(-msse,-msse2),但这不起作用。

然后我在stackoverflow上看到一篇文章,据说尝试“-march = native”,我做了。这也不起作用。

我正在使用G ++(MinGW)进行编译,而我使用的是Windows 7 x64。

如果它意味着什么,项目正在使用自定义makefile。

1 个答案:

答案 0 :(得分:1)

为了使这项工作,您需要将march设置为支持SSE2的东西(例如,Pentium4或Core2,在您的情况下,“本机”也可能会因为您在x86_64上运行,但我'从未使用“原生”)通过-msse2启用SSE2。

但是:由于您使用自定义makefile,您必须在makefile中执行 ,或者必须使用环境变量(忘记环境变量) ,我只是看了看,似乎你可以通过这些来控制几乎所有东西,除了目标/优化选项。)

Code :: Blocks在从项目文件编译时设置编译器选项,但在使用自定义makefile时则不设置。使用自定义makefile,假设您知道自己在做什么以及makefile“正常工作” 换句话说,你可以设置你喜欢的任何选项,只要你使用cutom makefile它们就没有任何效果。