If you don't have C++11 or Boost, you could try this:
typedef char assertion_on_mystruct[( sizeof(mystruct)==1024 )*2-1 ];
If the statement is false, then this typedefs an array type with negative size, and your compiler should give an error message. If true, then the size will be one, a valid size. For example, g++ gives:
template.cpp:10:70: error: size of array ‘assertion_on_mystruct’ is negative
I admit it's not the most useful thing, because it only tells you the line number of the error. But it is the simplest, stand-alone, technique I can think of.
A more general macro is:
#define DUMB_STATIC_ASSERT(test) typedef char assertion_on_mystruct[( !!(test) )*2-1 ]
DUMB_STATIC_ASSERT( sizeof(mystruct)==1024 );
DUMB_STATIC_ASSERT( sizeof(my_other_struct)==23 );
DUMB_STATIC_ASSERT( sizeof(minimum_size_struct) >= 23 );