#ifndef BOOL_PROP1 # error Expected BOOL_PROP1 #endif #ifndef BOOL_PROP2 # error Expected BOOL_PROP2 #endif #ifndef BOOL_PROP3 # error Expected BOOL_PROP3 #endif #ifndef STRING_PROP1 # error Expected STRING_PROP1 #endif #ifndef STRING_PROP2 # error Expected STRING_PROP2 #endif #ifndef STRING_PROP3 # error Expected STRING_PROP3 #endif template struct CMakeStaticAssert; template <> struct CMakeStaticAssert { }; enum { NumericMaxTest1 = sizeof(CMakeStaticAssert), NumericMaxTest2 = sizeof(CMakeStaticAssert), NumericMinTest1 = sizeof(CMakeStaticAssert), NumericMinTest2 = sizeof(CMakeStaticAssert), NumericMinTest3 = sizeof(CMakeStaticAssert), NumericMinTest4 = sizeof(CMakeStaticAssert) }; #include "iface2.h" int foo(); #ifdef _WIN32 __declspec(dllimport) #endif int bar(); int main(int argc, char** argv) { Iface2 if2; return if2.foo() + foo() + bar(); }