Not really
As the blog post you linked says, the differences between the languages make it difficult to use a well designed C++ testing framework for testing C. Like the example in the article, you can shoe-horn C++ testing frameworks to test C using #define
etc, but as you mentioned, you will run into problems when there are a lot of dependencies.
This is a common problem - this question about C testing includes a lot of C++ testing tools, but I really don't think they'd work well for larger projects.
Here are some suggestions
If you use autotools, you might want to look at Check. I've also been using test-dept, which is nice and lightweight, and allows for replacing functions on the fly. I've been using it to add tests to a very large codebase for a few months now, and it seems fine so far (though I ended up doing quite a bit of refactoring - but I think that would have been the case no matter the framework).
There are many other suggestions in the question I linked before.