Все прекрасно линкуется (gcc-4.6)
iBolit# make
g++ -c -o blah.o blah.cc
g++ -c -o wrap.o wrap.cc
cc -c -o main.o main.c
cc blah.o wrap.o main.o -o blah
iBolit# ./blah
Blah!
iBolit#
Я специально сделал main.c чтобы проверить линковку между C и C++ модулями, все работает. Скорее всего у вас что-то в процессе компиляции/линковки неправильно, например незаслуженно забыт файл blah.o при линковке.