Skip to content

Compilation on Windows ARM64 #15

@TLescoatTFX

Description

@TLescoatTFX

Hello, I got a compilation error when compiling on Windows ARM64 with MSVC:

Run Build Command(s): D:/downloads/tools/ninja/1.13.1-windows/ninja.exe -v -v -j33 install
[1/4] C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\arm64\cl.exe   /TP -DFBOW_DLL_EXPORT -DNOMINMAX -ID:\b\stella-cv-fbow\src\e8eb66a3c1-4e94401773.clean\include -external:ID:\installed\arm64-uwp\include\opencv4 -external:W0 /DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__ /nologo /Z7 /MP /GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc  /utf-8  /MDd /Od /RTC1  /DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__ /nologo /Z7 /MP /GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc  /utf-8  -openmp /showIncludes /FoCMakeFiles\fbow.dir\src\fbow.cpp.obj /FdCMakeFiles\fbow.dir\ /FS -c D:\b\stella-cv-fbow\src\e8eb66a3c1-4e94401773.clean\src\fbow.cpp
FAILED: [code=2] CMakeFiles/fbow.dir/src/fbow.cpp.obj 
C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\arm64\cl.exe   /TP -DFBOW_DLL_EXPORT -DNOMINMAX -ID:\b\stella-cv-fbow\src\e8eb66a3c1-4e94401773.clean\include -external:ID:\installed\arm64-uwp\include\opencv4 -external:W0 /DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__ /nologo /Z7 /MP /GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc  /utf-8  /MDd /Od /RTC1  /DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__ /nologo /Z7 /MP /GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc  /utf-8  -openmp /showIncludes /FoCMakeFiles\fbow.dir\src\fbow.cpp.obj /FdCMakeFiles\fbow.dir\ /FS -c D:\b\stella-cv-fbow\src\e8eb66a3c1-4e94401773.clean\src\fbow.cpp
D:\b\stella-cv-fbow\src\e8eb66a3c1-4e94401773.clean\include\fbow\cpu.h(49): fatal error C1189: #error:  "No cpuid intrinsic defined for processor architecture."
[2/4] C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\arm64\cl.exe   /TP -DFBOW_DLL_EXPORT -DNOMINMAX -ID:\b\stella-cv-fbow\src\e8eb66a3c1-4e94401773.clean\include -external:ID:\installed\arm64-uwp\include\opencv4 -external:W0 /DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__ /nologo /Z7 /MP /GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc  /utf-8  /MDd /Od /RTC1  /DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__ /nologo /Z7 /MP /GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc  /utf-8  -openmp /showIncludes /FoCMakeFiles\fbow.dir\src\vocabulary_creator.cpp.obj /FdCMakeFiles\fbow.dir\ /FS -c D:\b\stella-cv-fbow\src\e8eb66a3c1-4e94401773.clean\src\vocabulary_creator.cpp
FAILED: [code=2] CMakeFiles/fbow.dir/src/vocabulary_creator.cpp.obj 
C:\PROGRA~1\MICROS~1\2022\ENTERP~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\arm64\cl.exe   /TP -DFBOW_DLL_EXPORT -DNOMINMAX -ID:\b\stella-cv-fbow\src\e8eb66a3c1-4e94401773.clean\include -external:ID:\installed\arm64-uwp\include\opencv4 -external:W0 /DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__ /nologo /Z7 /MP /GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc  /utf-8  /MDd /Od /RTC1  /DWIN32 /D_WINDOWS /D_UNICODE /DUNICODE /DWINAPI_FAMILY=WINAPI_FAMILY_APP /D__WRL_NO_DEFAULT_LIB__ /nologo /Z7 /MP /GS /Gd /Gm- /W3 /WX- /Zc:wchar_t /Zc:inline /Zc:forScope /fp:precise /Oy- /EHsc  /utf-8  -openmp /showIncludes /FoCMakeFiles\fbow.dir\src\vocabulary_creator.cpp.obj /FdCMakeFiles\fbow.dir\ /FS -c D:\b\stella-cv-fbow\src\e8eb66a3c1-4e94401773.clean\src\vocabulary_creator.cpp
D:\b\stella-cv-fbow\src\e8eb66a3c1-4e94401773.clean\include\fbow\cpu.h(49): fatal error C1189: #error:  "No cpuid intrinsic defined for processor architecture."
ninja: build stopped: subcommand failed.

The core of it is ...\cpu.h(49): fatal error C1189: #error: "No cpuid intrinsic defined for processor architecture.". I see that there are some ifdefs for other variants of ARM64 (__arm64__, __arm__, __aarch64__) but these do not get defined by MSVC - I think it is _M_ARM64 but I'm not sure

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions