Так тогда надо было сразу в h-файле прототип ассемблерной функции указывать как
extern "C" char func(char);
Или вообще
#ifdef __cplusplus
extern "C" {
#endif
char foo(char);
int foo1(int);
#ifdef __cplusplus
}
#endif
тогда этот h-файл можно включать и в C-шные проекты, и в С++ - ные.