我有一个很大的 C++ 项目,我在其中尝试实现一个需要其他库中的类的调试功能。不幸的是,这些类与项目内部调用的类共享相同的名称和命名空间。我尝试使用静态库来避免多个定义,但编译器当然会抱怨这个问题。所以我的问题是:是否可以为函数创建该库,而编译器不知道函数内部被调用的类?
我不知道,像“受保护的函数”还是喜欢将库中的所有代码放在函数代码中..
编辑:我正在使用 g++ 编译器。
麦克斯,我知道,但到目前为止我没有其他办法。
示意图,问题是。
项目:
#include a.h // (old one)
#include a2.h
return a->something();
return a2->something(); //debug function
调试功能a2:
#include a.h // (new one!!)
return a->something(); // (new one!)
编译过程看起来到目前为止:
g++ project -la -la2
这是一个非常简化的草案。但实际上就是这样。