我在 VS2013,C++ 控制台应用程序中。我在将 boost 集成到大型框架中时遇到问题。如果我尝试将它们集成到空白控制台应用程序中,它们工作正常。一旦我包含框架的“根” .h 文件(其中包括交易中的“许多”其他 .h 文件),它就会中断。这些 .h 文件“污染”了 boost 文件(以及之后包含的任何内容,结果参差不齐,不,我不能只首先包含 boost 文件,不幸的是,这并不总是一种选择)。我发现至少有一个根级#define 干扰并导致编译错误,但我找不到导致运行时问题的其他一些冲突。
具体来说,我的问题是:如何判断 .h 文件定义了哪些符号?希望以后会发生哪些冲突?我尝试使用谷歌搜索,但找不到执行此操作的工具。
或者是否有其他方法可以“隔离”它们(我的问题 .h 文件),但仍然让它们正确链接到它们在其他 .dll 中调用的函数?