`
philip01
  • 浏览: 47107 次
  • 来自: ...
社区版块
存档分类
最新评论

g++ 生成dll(makefile[def])

阅读更多

shell = cmd.exe
CPP  = g++.exe
CC   = gcc.exe
WINDRES = windres.exe
RES  =
OBJ  = ./com/Cmpnt.o ./com/GUIDS.o ./com/Registry.o $(RES)
LINKOBJ  = ./com/Cmpnt.o ./com/GUIDS.o ./com/Registry.o $(RES) $(RES)
LIBS =  -L"C:/MinGW/lib" -fmessage-length=0 --no-export-all-symbols --add-stdcall-alias -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32 -lwinmm -O3 -s
INCS =  -I"c:/MinGW/include" 
CXXINCS =  -I"C:/MinGW/include/c++/3.4.5"  -I"C:/MinGW/include/c++/3.4.5/mingw32"  -I"C:/MinGW/include/c++/3.4.5/backward"  -I"D:/MinGW/include"  -I"./com"
BIN  = ComServer07.dll
CXXFLAGS = $(CXXINCS)-O3   -fmessage-length=0 -Wall
CFLAGS = $(INCS)-DBUILDING_DLL=1 -O3   -fmessage-length=0 -Wall

.PHONY: all all-before all-after clean clean-custom

all: all-before ComServer07.dll all-after


clean: clean-custom
 rm -f $(OBJ) $(BIN)


DLLWRAP=dllwrap.exe
DEFFILE=./com/ComServer07.def
STATICLIB=CMPNT.DLL

$(BIN): $(LINKOBJ)
 $(DLLWRAP) --def $(DEFFILE) --driver-name c++ --implib $(STATICLIB) $(LINKOBJ) $(LIBS) -o $(BIN)

./com/Cmpnt.o: ./com/Cmpnt.cpp
 $(CPP) -c ./com/Cmpnt.cpp -o ./com/Cmpnt.o $(CXXFLAGS)
 
./com/GUIDS.o: ./com/GUIDS.cpp
 $(CPP) -c ./com/GUIDS.cpp -o ./com/GUIDS.o $(CXXFLAGS)
  
./com/Registry.o: ./com/Registry.cpp
 $(CPP) -c ./com/Registry.cpp -o ./com/Registry.o $(CXXFLAGS)  

 

 

 

 

 

 

 

 

 

 

LIBRARY         Cmpnt.dll
DESCRIPTION     'Chapter 7 Example COM Component (c)1996-1997 Dale E. Rogerson'

EXPORTS
                DllGetClassObject   @2 PRIVATE
                DllCanUnloadNow     @3 PRIVATE
                DllRegisterServer   @4 PRIVATE
                DllUnregisterServer @5 PRIVATE

 

 

 

 

%SystemRoot%\System32\regsvr32 /u ComServer07.dll

 

 

%SystemRoot%\System32\regsvr32  ComServer07.dll

分享到:
评论

相关推荐

    g++选项与makefile

    g++选项与makefile的介绍,比较详细

    g++ makefile

    在Linux开发环境中,`g++`和`makefile`是两个至关重要的工具,它们使得程序编译和构建过程更加高效和便捷。`g++`是GNU项目提供的C++编译器,而`makefile`则是一种自动化构建工具,用于管理项目中的编译规则和依赖...

    GCC和MakeFile入门代码二 DLL编译

    总结来说,这个压缩包文件提供了一个关于如何使用GCC和MakeFile进行DLL编译的入门实例。通过学习和实践这个例子,开发者可以掌握C++源码的编译过程,了解MakeFile的编写,以及如何在Windows上创建和使用DLL。这是一...

    Linux gcc/g++ Makefile基础教程.zip

    在Linux环境下,`gcc`和`g++`是C和C++编程语言的编译器,而`Makefile`则是管理这些程序编译过程的重要工具。`Makefile`允许开发者自动化构建、编译和链接代码的过程,提高了工作效率,特别是在大型项目中更为明显。 ...

    如何自动生成makefile

    `autoconf` 生成配置脚本,帮助用户检测系统特性,而`automake` 生成符合GNU标准的 `Makefile.in`,在运行 `configure` 脚本后,会自动生成 `Makefile`。 2. **CMake**: CMake 是一个跨平台的开源构建系统,可以...

    linux下gcc,g++的用法和区别,以及makefile的编写

    ### Linux 下 GCC、G++ 的用法和区别,以及 Makefile 的编写 #### GCC 和 G++ 编译流程 在 Linux 系统中,GCC (GNU Compiler Collection) 是一个非常强大的工具集,它包含了多种编程语言的编译器,如 C、C++、...

    自动生成 Makefile

    自动生成 Makefile 在 Linux 开发中,Makefile 是一个不可或缺的工具,它可以帮助我们快速编译和安装程序。然而,手动编写 Makefile 可能会很繁琐,特别是当我们需要遵守自由软件惯例时。因此,本文将介绍如何使用 ...

    打包GDB&GCC&G++&AUTOMAKE&MAKEFILE教程

    在编程世界中,GDB、GCC、G++、AUTOMAKE和MAKEFILE是构建和调试C/C++程序的重要工具。这个“打包GDB&GCC&G++&AUTOMAKE&MAKEFILE教程”提供了全面的学习资源,帮助开发者一站式掌握这些核心技术。 1. **GDB**(GNU ...

    linux c自动生成Makefile

    在Linux环境中,C语言开发项目通常使用Makefile来管理编译和...在阅读提供的"Automake,Autoconf自动生成Makefile.pdf"和"自动生成Makefile详细过程.txt"文件时,可以更详细地了解每个步骤的具体操作和相关命令的用法。

    运用Autoconf和Automake生成Makefile的学习之路

    Autoconf 和 Automake 生成 Makefile 在软件开发过程中,Makefile 是一个不可或缺的组成部分,它定义了整个工程的编译规则。然而,手动编写 Makefile 是一个复杂而且容易出错的过程。这就是 Autoconf 和 Automake ...

    使用AutoMake轻松生成Makefile

    ### 使用AutoMake轻松生成Makefile #### 知识点概览 1. **Makefile的基础概念** 2. **AutoMake的简介与优势** 3. **系统环境准备** 4. **AutoMake工作流程详解** - **步骤1:使用autoscan生成configure.scan文件*...

    makefile生成向导工具

    【标题】:“makefile生成向导工具” 在软件开发中,`Makefile`是一个至关重要的文件,它定义了编译、链接以及执行程序时的一系列规则。`Makefile`能够自动化构建过程,节省开发者的时间,尤其在大型项目中,管理...

    自动生成 Makefile 的全过程详解

    ### 自动生成 Makefile 的全过程详解 #### 一、引言 在进行软件开发的过程中,Makefile 起到了至关重要的作用。它不仅能够自动化管理项目的编译过程,还能确保每次构建时只对确实需要更新的部分进行编译。然而,...

    bash shell自动生成Makefile

    bash shell自动生成Makefile

    自动生成_Makefile_的全过程详解

    7. **生成Makefile**:运行配置脚本configure,它会根据当前系统的环境和Makefile.in生成最终的Makefile。 8. **编译和运行程序**:通过make命令来编译程序,最后执行编译出的程序文件,验证Makefile的正确性。 ...

    跟我一起自动生成Makefile

    ### 自动生成Makefile详解 #### 一、引言 在软件开发过程中,构建管理是非常重要的一环。对于大型项目而言,构建过程往往涉及到多个源文件的编译与链接,这使得手动编写和维护Makefile变得既繁琐又容易出错。为了...

    例解 autoconf 和 automake 生成 Makefile 文件

    `autoconf` 和 `automake` 是两个经典的开源工具,它们主要用于Unix/Linux环境下的自动配置和构建过程,帮助开发者生成适应不同平台的`Makefile`。这两个工具的结合使用可以简化项目构建,确保源代码在多种环境下都...

    Makefile自动生成脚本

    在本主题中,我们将深入探讨如何通过shell脚本来自动生成Makefile,特别是针对C和C++工程。 一、Makefile的原理与基本结构 Makefile是一个文本文件,其中包含了命令和规则,告诉make工具如何构建项目。基本结构包括...

    autotools系列工具—-自动生成Makefile

    ### Autotools系列工具——自动生成Makefile:深入解析与应用 #### 一、引言 在软件开发领域,特别是大型项目的构建过程中,手动维护Makefile不仅耗时且容易出错,尤其当涉及到跨平台编译时,其复杂度更是成倍增加...

Global site tag (gtag.js) - Google Analytics