When I try to use:
ON_CALL(mock, foo(_))
Compilation error is thrown:
Error 1 error C2065: '_' : undeclared identifier
I am using visual studio 2012.
undeclared identifier always means that compiler does not understand what it (i.e. _) is. So perhaps you forgot
#include <gtest/gtest.h>
#include <gmock/gmock.h>
or
using::testing::_;
Refer to examples and check.