在 MSVC 中可以这样写:
// in Lib.h
#if USE_OLD_LIB
#pragma comment(lib, "old_lib.lib")
#include "old_lib.h"
#else
#pragma comment(lib, "new_lib.lib")
#include "new_lib.h"
#endif
如果没有 GCC 中的编译指示注释支持,我怎么能做到这一点?
编辑:我知道可以使用 make 文件,但是 USE_OLD_LIB 条件宏连接到另一个库中的一些逻辑,如下所示:
// in Lib2.h
#if OBJ_SIZE > 20
#define USE_OLD_LIB
#endif
因此,为此使用make文件会很麻烦。