如何在Code::Blocks上使能SSE/SSE2
How to enable SSE/SSE2 on Code::Blocks?
所以我试图编译一些代码(具体来说是Bullet Physics演示),并且出现了一个错误,说SSE和SSE2未启用。我检查了Code::Blocks中的编译器标志,SSE/SSE2不在那里。我试图把标志放在"其他选项"中而不是(-msse, -msse2),但这不起作用。
然后我在stackoverflow上看到一个帖子,说尝试"-march=native",我照做了。
我用的是g++ (MinGW)编译,我的操作系统是Windows 7 x64。
如果它有任何意义,项目正在使用自定义的makefile
为了使此工作,您需要将march
设置为支持SSE2的东西(例如,Pentium4或Core2,在您的情况下"本机"也可能这样做,因为您运行在x86_64上,但我从未使用过"本机")和通过-msse2
启用SSE2。
但是:由于您使用自定义makefile,您必须在makefile 中执行此,或者您必须使用环境变量(忘记环境变量,我只是看了看,似乎您可以通过这些控制几乎所有内容,除了目标/优化选项)。
Code::Blocks在从项目文件编译时设置编译器选项,但在使用自定义makefile时不设置。使用自定义的makefile,假设你知道你在做什么,并且makefile"正确工作"。
换句话说,你可以设置任何你喜欢的选项,它们不会有任何效果,只要你使用自定义的makefile
相关文章:
- C++程序在将 int 与 cin 一起使用时有效,但不能使用字符串
- 不能使这种类型的"void(C::* volatile)(int) const "在参考手册C++示
- C++:不能使运算符<<成为模板嵌套类的好友
- 为什么我不能使私人运营商成为新的并使用默认实现?
- 有没有办法使成员函数不能从构造函数调用
- C++:强制实施函数,使其不能接受按值传递的任何参数
- 不能使外部类成为内部类内的成员对象
- 为什么我不能使对象 m1
- 为什么我不能从用户那里读取值并使其成为常量?
- 无法使我的getChar()函数能够工作,我希望它能正常工作,输出IS10而不是2 C
- 为什么将高数字传递给递归功能会使我的控制台停止响应
- 不能使布尔函数 C++
- 我们不能在类的成员函数中使用线程吗?
- 无法使ispunct或isspace工作,但isupper工作正常.你能帮我吗
- 不能重载 = 使对象 1 = 0;
- 不能使C++程序使用足够高的精度
- 有人能解释一下他们的意思是list.pushback文档(不会使迭代器无效)吗
- 如何在Code::Blocks上使能SSE/SSE2
- SFINAE使能非模板成员功能
- 通过MSFT_NetAdapter使能/禁用网卡