开发者

Statically linking libs in Visual Studio

开发者 https://www.devze.com 2023-02-06 12:30 出处:网络
When you choose /MTd static linking in Visual Studio, would it try to link to each lib statically or there are some exceptions 开发者_运维百科to system libs?Description: /MTd: Defines _DEBUG and _MT.

When you choose /MTd static linking in Visual Studio, would it try to link to each lib statically or there are some exceptions 开发者_运维百科to system libs?


Description: /MTd: Defines _DEBUG and _MT. This option also causes the compiler to place the library name LIBCMTD.lib into the .obj file so that the linker will use LIBCMTD.lib to resolve external symbols.

From what I can see there is no static linking. If you want to do static linking you need to use ILMerge. And even then you should not attempt to merge in the required .Net Framework references as they often reference others which you may miss. It may not even be possible as they use GAC for referencing.


The /MT and /MD flags only define how the C/C++ runtime library is linked in. It has no effect on other libraries, system or user defined.

The system libraries, such as kernel32.lib, user32.lib, etc) are import libraries - there is no static library to link with.

0

精彩评论

暂无评论...
验证码 换一张
取 消