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的介绍,比较详细
在Linux开发环境中,`g++`和`makefile`是两个至关重要的工具,它们使得程序编译和构建过程更加高效和便捷。`g++`是GNU项目提供的C++编译器,而`makefile`则是一种自动化构建工具,用于管理项目中的编译规则和依赖...
总结来说,这个压缩包文件提供了一个关于如何使用GCC和MakeFile进行DLL编译的入门实例。通过学习和实践这个例子,开发者可以掌握C++源码的编译过程,了解MakeFile的编写,以及如何在Windows上创建和使用DLL。这是一...
在Linux环境下,`gcc`和`g++`是C和C++编程语言的编译器,而`Makefile`则是管理这些程序编译过程的重要工具。`Makefile`允许开发者自动化构建、编译和链接代码的过程,提高了工作效率,特别是在大型项目中更为明显。 ...
`autoconf` 生成配置脚本,帮助用户检测系统特性,而`automake` 生成符合GNU标准的 `Makefile.in`,在运行 `configure` 脚本后,会自动生成 `Makefile`。 2. **CMake**: CMake 是一个跨平台的开源构建系统,可以...
### Linux 下 GCC、G++ 的用法和区别,以及 Makefile 的编写 #### GCC 和 G++ 编译流程 在 Linux 系统中,GCC (GNU Compiler Collection) 是一个非常强大的工具集,它包含了多种编程语言的编译器,如 C、C++、...
自动生成 Makefile 在 Linux 开发中,Makefile 是一个不可或缺的工具,它可以帮助我们快速编译和安装程序。然而,手动编写 Makefile 可能会很繁琐,特别是当我们需要遵守自由软件惯例时。因此,本文将介绍如何使用 ...
在编程世界中,GDB、GCC、G++、AUTOMAKE和MAKEFILE是构建和调试C/C++程序的重要工具。这个“打包GDB&GCC&G++&AUTOMAKE&MAKEFILE教程”提供了全面的学习资源,帮助开发者一站式掌握这些核心技术。 1. **GDB**(GNU ...
在Linux环境中,C语言开发项目通常使用Makefile来管理编译和...在阅读提供的"Automake,Autoconf自动生成Makefile.pdf"和"自动生成Makefile详细过程.txt"文件时,可以更详细地了解每个步骤的具体操作和相关命令的用法。
Autoconf 和 Automake 生成 Makefile 在软件开发过程中,Makefile 是一个不可或缺的组成部分,它定义了整个工程的编译规则。然而,手动编写 Makefile 是一个复杂而且容易出错的过程。这就是 Autoconf 和 Automake ...
### 使用AutoMake轻松生成Makefile #### 知识点概览 1. **Makefile的基础概念** 2. **AutoMake的简介与优势** 3. **系统环境准备** 4. **AutoMake工作流程详解** - **步骤1:使用autoscan生成configure.scan文件*...
【标题】:“makefile生成向导工具” 在软件开发中,`Makefile`是一个至关重要的文件,它定义了编译、链接以及执行程序时的一系列规则。`Makefile`能够自动化构建过程,节省开发者的时间,尤其在大型项目中,管理...
### 自动生成 Makefile 的全过程详解 #### 一、引言 在进行软件开发的过程中,Makefile 起到了至关重要的作用。它不仅能够自动化管理项目的编译过程,还能确保每次构建时只对确实需要更新的部分进行编译。然而,...
bash shell自动生成Makefile
7. **生成Makefile**:运行配置脚本configure,它会根据当前系统的环境和Makefile.in生成最终的Makefile。 8. **编译和运行程序**:通过make命令来编译程序,最后执行编译出的程序文件,验证Makefile的正确性。 ...
### 自动生成Makefile详解 #### 一、引言 在软件开发过程中,构建管理是非常重要的一环。对于大型项目而言,构建过程往往涉及到多个源文件的编译与链接,这使得手动编写和维护Makefile变得既繁琐又容易出错。为了...
`autoconf` 和 `automake` 是两个经典的开源工具,它们主要用于Unix/Linux环境下的自动配置和构建过程,帮助开发者生成适应不同平台的`Makefile`。这两个工具的结合使用可以简化项目构建,确保源代码在多种环境下都...
在本主题中,我们将深入探讨如何通过shell脚本来自动生成Makefile,特别是针对C和C++工程。 一、Makefile的原理与基本结构 Makefile是一个文本文件,其中包含了命令和规则,告诉make工具如何构建项目。基本结构包括...
### Autotools系列工具——自动生成Makefile:深入解析与应用 #### 一、引言 在软件开发领域,特别是大型项目的构建过程中,手动维护Makefile不仅耗时且容易出错,尤其当涉及到跨平台编译时,其复杂度更是成倍增加...