none
VC++生成多文件程序集,.h头文件怎么办? RRS feed

  • 问题

  • MSDN上教人生成多文件程序集的方法:
    http://msdn.microsoft.com/zh-cn/library/226t7yxe.aspx
    依这种方法,只有cpp文件才能生成一个.netmodule,窗口应用程序中的窗口无论如何都是个.h啊,这个窗口文件怎么才能生成可以输入到AL.exe(程序集链接器)中的.netmodule呢?
    2011年9月10日 3:42

答案

全部回复

  • 你好,

    据我所知,C++的source file都可以生成一个.netmodule, 包括.h文件和.cpp文件。 进行一样的处理就可以了。


    Min Zhu [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    • 已标记为答案 Gh2005 2011年9月14日 1:53
    2011年9月13日 8:40
    版主
  • 您好,好像不行,.h窗体类文件在cl.exe下总是无法编译的。
    2011年9月14日 2:09
  • 你好,

    我照着试了一下,并不需要为.h文件生成.netmodule,只要直接编译cpp文件就可以了。

    下面是我试过可行的步骤。

    1.VS2010中创建一个c++的Windows Forms应用程序。取名为c++winform.

    2.把c++winform.cpp改为如下:

    #include "stdafx.h"
    #include "Form1.h"
    
    using namespace cwinform;
    
    
    ref class MainClientApp
    {
    public:
    	static void Main()
    	{
    			// Enabling Windows XP visual effects before any controls are created
    	Application::EnableVisualStyles();
    	Application::SetCompatibleTextRenderingDefault(false); 
    
    	// Create the main window and run it
    	Application::Run(gcnew Form1());
    	}
    };
    
    [STAThreadAttribute]
    int main(array<System::String ^> ^args)
    {
    	MainClientApp::Main();
    }
    

    3.依次在命令行中运行:

    cl /
    clr:pure /LN /FU"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework
    \.NETFramework\v4.0\System.Core.dll" /FU"C:\Program Files (x86)\Reference Assemb
    lies\Microsoft\Framework\.NETFramework\v4.0\System.Data.dll" /FU"C:\Program File
    s (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.dll"
    /FU"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramewor
    k\v4.0\System.Drawing.dll" /FU"C:\Program Files (x86)\Reference Assemblies\Micro
    soft\Framework\.NETFramework\v4.0\System.Windows.Forms.dll" /FU"C:\Program Files
     (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Xml.dl
    l" c++winform.cpp

    al c
    ++winform.netmodule /target:exe /out:myApp.exe /main:MainClientApp.Main /platfor
    m:x86

     

     

     


    Min Zhu [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年9月15日 7:45
    版主