C++ 条件 link 带预处理器
C++ conditional link with preprocessor
我有一个 MSVC C++ 项目,我通过在项目属性的 C++/预处理器部分传递指定的预处理器定义来有条件地编译部分源代码。
我还想做的是有条件地 link 使用基于预处理器定义的库,我该如何实现?
例如在我的项目中如果定义了 CLSOPENLDV 我想排除:
nodetalk32_vcpp.obj
并包括:
ldv32.lib
当它没有定义时我想做相反的事情。
您可能需要这个:
#ifdef SOME_MACRO
#pragma comment( lib, "ldv32" )
#endif
这是 Microsoft 特有的,它可能不适用于 gcc、clang 或其他编译器。
为了排除 nodetalk32_vcpp.obj
,我想到的唯一一件事是:
#ifndef SOME_MACRO
// content of nodetalk32_vcpp.cpp
#endif
我有一个 MSVC C++ 项目,我通过在项目属性的 C++/预处理器部分传递指定的预处理器定义来有条件地编译部分源代码。
我还想做的是有条件地 link 使用基于预处理器定义的库,我该如何实现?
例如在我的项目中如果定义了 CLSOPENLDV 我想排除:
nodetalk32_vcpp.obj
并包括:
ldv32.lib
当它没有定义时我想做相反的事情。
您可能需要这个:
#ifdef SOME_MACRO
#pragma comment( lib, "ldv32" )
#endif
这是 Microsoft 特有的,它可能不适用于 gcc、clang 或其他编译器。
为了排除 nodetalk32_vcpp.obj
,我想到的唯一一件事是:
#ifndef SOME_MACRO
// content of nodetalk32_vcpp.cpp
#endif