-
Notifications
You must be signed in to change notification settings - Fork 399
Description
Hello,
First, I know MSVC hasn't been the first choice running fast, but starting from VS2022, the codegen is not nearly as bad as it was.
Second, I can use GCC or Clang (clang-cl or llvm) to build hwy but I still mostly use it as header only one and if I want to build non-header part I would probably need to patch and rebuild half of the world in our project as well.
Now, I'm trying to add new ops to HWY for [currently unsupported] NPU and for that building tests is essential.
I stumbled on this skeleton_test, which is the only test executable that tries to export something.
Currently it fails with:
skeleton_test.cc
skeleton.cc
Generating Code...
C:\github\highway\hwy\examples\skeleton.cc(111,20): error C2491: 'skeleton::CallFloorLog2': definition of dllimport fun
ction not allowed [C:\github\highway\out\release\build\skeleton_test.vcxproj]
C:\github\highway\hwy\examples\skeleton.cc(120,20): error C2491: 'skeleton::SavedCallFloorLog2': definition of dllimpor
t function not allowed [C:\github\highway\out\release\build\skeleton_test.vcxproj]From the looks of it, hwy has this HWY_SHARED_DEFINE as PUBLIC, means it would also be propagated to test executables which should export but there is no hwy_EXPORTS defined for it so it falls back to dllimport.