#include <intrin.h>
以上将报告:
intrin.h: No such file or directory
这似乎是一个MSVC头文件,但我正在使用eclipse cdt,我怎样才能使它可用?是否需要一些库?
cdt使用MinGW进行编译,但没有intrin.h
:
D:\Tools\MinGW\lib\gcc\mingw32\3.4.5\include>dir *intrin.h
2006-01-17 21:47 34,528 emmintrin.h
2006-01-17 21:47 22,281 mmintrin.h
2006-01-17 21:47 3,586 pmmintrin.h
2006-01-17 21:47 30,925 xmmintrin.h
有人可以提供帮助吗?
答案 0 :(得分:9)
我有同样的问题。使用eclipse + cdt + mingw32-gcc7.2 + glm(openGL数学库)
我将#include <intrin.h>
替换为#include <x86intrin.h>
添加标记到gcc -msse2并且一切正常。
答案 1 :(得分:7)
这是一个标头,声明了一堆“内在函数” - 内置于编译器中的函数,因此它可以为它们发出内联代码。如果您使用VC ++作为编译器,它应该与其他标准头文件位于同一目录中。如果您使用的是其他编译器,则需要更改内在函数以适合您正在使用的编译器。例如,gcc具有许多类似的内在函数,但名称略有不同。
编辑:鉴于你正在使用MinGW(即,gcc),你几乎停留在移植代码(或使用VC ++)。如果你正在处理相当少量的代码,一种方法是注释掉包含该头的行,并尝试编译它。编译器将指出gcc没有使用内部函数的错误。然后你可以查看它们(例如,在MSDN上)并尝试找到gcc确实提供的东西(足够接近)同样的东西。取决于它使用的内容(以及多少)可以快速简便,或者可以更容易地开始生成新代码来执行相同的操作。
你发现的*内在头文件(可能)包含你需要替换的(至少某些)gcc与微软的对应物的声明。你可能最终会在移植代码的过程中使用它们,所以不要忘记它们。同时,只是包括那些标题而不是微软的标题几乎肯定不会使代码工作。