none
VC++MFC OCX 项目 引用 .net库后 静态编译的问题!!! RRS feed

  • 问题

  • VS2008SP1

     

    在 选择静态编译后 提示  “/MT”和“/clr”命令行选项不兼容

    这个是什么原因 如何解决啊? 如果不选择 静态编译就没问题 一切正常

    公共语言运行时支持 我选择的是 :公共语言运行时支持(/clr)

    我后来试着改了下 在 代码生成 运行库 选择  多线程调试(/MTd) 提示  “/MTd”和“/clr”命令行选项不兼容

    多线程 DLL (/MD) 提示: Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

    多线程调试 DLL (/MDd) 提示 :Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

     

    有没有人做过 知道怎么解决不?


    …|▌'寔堅蔃の/「≯還寔╪.逞蔃﹖
    2010年8月24日 7:59

答案

  • /clr用的是.NET的库,.NET是没有静态链接的方法的,所以是不能静态编译的,也就是说,你要是用了.NET的功能,就必须先安装.NET的包才能使用你的应用程序。

    如果你需要静态编译,就需要把所有和.NET相关的托管代码替换成Win32的API


    0xBAADF00D
    • 已标记为答案 dowflyon 2010年8月26日 2:20
    2010年8月26日 2:14
    版主