You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After upgrading my Visual C++ compiler to CTP_Nov2013, I started getting linking errors in win32_time.c. They were unresolved references to __dtol3 and __ltod3.
I narrowed it down to the following lines in this version of win32_time.c
Line 44 causes __ltod3: _glfw.win32.timer.resolution = 1.0 / (double) freq;
Line 68 causes __ltod3: t = (double)(t_64 - _glfw.win32.timer.t0_64);
Line 83 causes __dtol3: _glfw.win32.timer.t0_64 = t_64 - (__int64) (t / _glfw.win32.timer.resolution);
Seems like casting between long longs and doubles is causing problems.
I managed to solve it by following the advice here
More specifically, I added the following line to glfw's root CMakeLists.txt in the MSVC compiler specific flags section to use SSE instead of SSE2: set (CMAKE_C_FLAGS "/arch:SSE")
I'm not sure if that's the right solution, and I'm also using a slightly out of date version of glfw. This issue might manifest itself slightly differently now.
To test it, build glfw using Visual Studio 2013 and the November 2013 CTP
The text was updated successfully, but these errors were encountered:
After upgrading my Visual C++ compiler to CTP_Nov2013, I started getting linking errors in win32_time.c. They were unresolved references to
__dtol3
and__ltod3
.I narrowed it down to the following lines in this version of win32_time.c
Line 44 causes
__ltod3
:_glfw.win32.timer.resolution = 1.0 / (double) freq;
Line 68 causes
__ltod3
:t = (double)(t_64 - _glfw.win32.timer.t0_64);
Line 83 causes
__dtol3
:_glfw.win32.timer.t0_64 = t_64 - (__int64) (t / _glfw.win32.timer.resolution);
Seems like casting between long longs and doubles is causing problems.
I managed to solve it by following the advice here
More specifically, I added the following line to glfw's root CMakeLists.txt in the MSVC compiler specific flags section to use SSE instead of SSE2:
set (CMAKE_C_FLAGS "/arch:SSE")
I'm not sure if that's the right solution, and I'm also using a slightly out of date version of glfw. This issue might manifest itself slightly differently now.
To test it, build glfw using Visual Studio 2013 and the November 2013 CTP
The text was updated successfully, but these errors were encountered: