If A and B are interdependent, you cannot deploy them separately. Therefore, you practically have one module, not two. (You can reorganize your modules to extract common material into the third module C, thereby making both A and B dependent on C, but not on each other.)
A well-designed project should not contain cyclic dependencies of modules. This ensures that there is always a normal build order between its modules.
Update
How can I split a module into many .h and .cpp files (not one)?
: . @Felix : . @kotlinski Larman .
, , :-) ++ . , , (, ) , . ( ), .
(/) ( header/cpp). ( ) cpp. () , .