带有预处理器的可视化C++条件链接

visual C++ conditional link with preprocessor

本文关键字:C++ 条件 链接 可视化 预处理 处理器      更新时间:2023-10-16

我有一个MSVC C++项目,我通过在项目属性的C++/预处理器部分传递指定的预处理器定义来有条件地编译部分源代码。

我还想做的是基于预处理器定义有条件地与库链接,我如何实现这一点?

例如,在我的项目中,如果定义了CLSOPENLDV,我想排除:

nodetalk32_vcpp.obj

包括:

ldv32.lib

当它没有定义时,我想做相反的事情。

您可能需要这个:

#ifdef SOME_MACRO
#pragma comment( lib, "ldv32" )
#endif

这是微软特有的,它可能无法与gcc、clang或其他编译器配合使用。

对于排除nodetalk32_vcpp.obj,我脑海中唯一能想到的就是:

#ifndef SOME_MACRO
// content of nodetalk32_vcpp.cpp
#endif