When the library is built using GCC it is necessary to link with the pthread library due to how GCC implements
std::thread. Failing to link to pthread will lead to runtime exceptions (unless you're using libc++), not linker errors. See issue #67 for more details. You can link to pthread by adding
-pthread to your linker command. Note, you can also use
-lpthread, but there are potential issues with ordering of command line parameters if you use that.
On QNX, the pthread library is part of libc and usually included automatically (see
pthread_create()). There's no separate pthread library to link.
shlwapi library (
-lshlwapi) is required to support a call to
CPUInfo which reads the registry. Either add
[ Configuration Properties > Linker > Input ], or use the following:
// Alternatively, can add libraries using linker options. #ifdef _WIN32 #pragma comment ( lib, "Shlwapi.lib" ) #ifdef _DEBUG #pragma comment ( lib, "benchmarkd.lib" ) #else #pragma comment ( lib, "benchmark.lib" ) #endif #endif
Can also use the graphical version of CMake:
Where to build the binaries, same path as source plus
CMAKE_INSTALL_PREFIX, same path as source plus
See instructions for building with Visual Studio. Once built, right click on the solution and change the build to Intel.
If you‘re running benchmarks on solaris, you’ll want the kstat library linked in too (