#include #include #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 #ifndef STATIC1_BOOL_PROP1 # error Expected STATIC1_BOOL_PROP1 #endif #ifndef STATIC1_STRING_PROP1 # error Expected STATIC1_STRING_PROP1 #endif #ifndef STATIC1_NUMBER_MAX_PROP3 # error Expected STATIC1_NUMBER_MAX_PROP3 #endif #ifndef STATIC1_NUMBER_MIN_PROP5 # error Expected STATIC1_NUMBER_MIN_PROP5 #endif #ifdef OBJECT1_BOOL_PROP1 # error Unexpected OBJECT1_BOOL_PROP1 #endif #ifdef OBJECT1_STRING_PROP1 # error Unexpected OBJECT1_STRING_PROP1 #endif #ifdef OBJECT1_NUMBER_MAX_PROP3 # error Unexpected OBJECT1_NUMBER_MAX_PROP3 #endif #ifdef OBJECT1_NUMBER_MIN_PROP5 # error Unexpected OBJECT1_NUMBER_MIN_PROP5 #endif #ifdef IFACE3_BOOL_PROP1 # error Unexpected IFACE3_BOOL_PROP1 #endif #ifdef IFACE3_STRING_PROP1 # error Unexpected IFACE3_STRING_PROP1 #endif #ifdef IFACE3_NUMBER_MAX_PROP3 # error Unexpected IFACE3_NUMBER_MAX_PROP3 #endif #ifdef IFACE3_NUMBER_MIN_PROP5 # error Unexpected IFACE3_NUMBER_MIN_PROP5 #endif #ifndef STATIC1_BOOL_PROP5 # error Expected STATIC1_BOOL_PROP5 #endif #ifndef STATIC1_STRING_PROP4 # error Expected STATIC1_STRING_PROP4 #endif #ifndef STATIC1_NUMBER_MIN_PROP6 # error Expected STATIC1_NUMBER_MIN_PROP6 #endif #ifndef STATIC1_NUMBER_MAX_PROP4 # error Expected STATIC1_NUMBER_MAX_PROP4 #endif #ifndef OBJECT1_BOOL_PROP5 # error Expected OBJECT1_BOOL_PROP5 #endif #ifndef OBJECT1_STRING_PROP4 # error Expected OBJECT1_STRING_PROP4 #endif #ifndef OBJECT1_NUMBER_MIN_PROP6 # error Expected OBJECT1_NUMBER_MIN_PROP6 #endif #ifndef OBJECT1_NUMBER_MAX_PROP4 # error Expected OBJECT1_NUMBER_MAX_PROP4 #endif #ifndef IFACE3_BOOL_PROP5 # error Expected IFACE3_BOOL_PROP5 #endif #ifndef IFACE3_STRING_PROP4 # error Expected IFACE3_STRING_PROP4 #endif #ifndef IFACE3_NUMBER_MIN_PROP6 # error Expected IFACE3_NUMBER_MIN_PROP6 #endif #ifndef IFACE3_NUMBER_MAX_PROP4 # error Expected IFACE3_NUMBER_MAX_PROP4 #endif template struct CMakeStaticAssert; template <> struct CMakeStaticAssert { }; enum { NumericMaxTest1 = sizeof(CMakeStaticAssert), NumericMaxTest2 = sizeof(CMakeStaticAssert), NumericMaxTest3 = sizeof(CMakeStaticAssert), NumericMinTest1 = sizeof(CMakeStaticAssert), NumericMinTest2 = sizeof(CMakeStaticAssert), NumericMinTest3 = sizeof(CMakeStaticAssert), NumericMinTest4 = sizeof(CMakeStaticAssert), NumericMinTest5 = sizeof(CMakeStaticAssert) }; #include "iface2.h" int foo(); #ifdef _WIN32 __declspec(dllimport) #endif int bar(); int main(int argc, char** argv) { int result = 0; for (int i = 2; i < argc; i += 2) { if (strcmp(argv[i - 1], argv[i]) != 0) { fprintf(stderr, "Argument %d expected '%s' but got '%s'.\n", i, argv[i - 1], argv[i]); result = 1; } } Iface2 if2; return result + if2.foo() + foo() + bar(); }