我有一个Dll
,我需要statically Link
。
这个dll
例如。 DTE.dll是Third party dll
。
我的应用程序在链接此dll Statically
时遇到问题。
我想链接这个dll ( DteStatic.lib which is newly sent by the third party)
。
项目属性->C/C++ -> Preprocessor: where I need to add DTE_STATIC
中有一个设置。
我的问题:当我有dte.lib文件时,如何进行静态链接。
答案 0 :(得分:0)
_
不会造成任何问题。在我的项目中项目属性 - > C / C ++ - >预处理器 - >预处理器定义我有_LIB
和_DEBUG
。
修改强>
DTE_STATIC
可能是某些特定于您的库的预处理器定义。我对DTE_STATIC
一无所知,但作为一个例子,让我们看看_DEBUG
定义是如何运作的。
您可能只想在调试模式下编译一些代码。例如,此代码可以在命令行上编写一些调试信息,但在发布版本中向您的客户显示此信息并不是一个好主意。此代码可能如下所示:
int x = 4;
x *= -8 << 2;
// ...
#ifdef _DEBUG
printf("DEBUG INFO: %d\n", x);
#endif
// ...
如果未定义_DEBUG
,则if
之间的行将被省略。如果在预处理器定义中设置_DEBUG
,那么就会编译并执行该行。
注意:在Visual Studio中设置预处理程序定义只相当于在头文件顶部写#define _DEBUG
。
答案 1 :(得分:0)
我认为您可以在链接时提供DteStatic.lib,它会在Visual Studio编译器中进行静态链接。