- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Mfc6.0动态库创建指南(v1.0)
动态库文件的创建
(v1.0)
结合TelDtTest.dll文件创建的实例进行简单的介绍:
一、初步创建:
首先,我们选择新建工程,创建一个新的MFC AppWizard(dll)文件:
图1
如果是在已有的工程中添加新的动态库文件可以选择图上Add to current workspace项。
接着选择默认选项即可,点击Finish完成初步创建。点击运行编译通过。
二、详细配置:
1.开发环境设置:
首先,按Alt + F7进入Project Settings。选择All Configurationsyi项在General 下Output files一栏中填“C:\GisSdk\TelSdk3”。
在C\C++下Category一栏下选中Code Generation,并选择1字节对齐。
接着我们选择Win32 Debug项,同样在General下的Intermediate files:填“..\Debug\TelDtTest”(如图3)。
注:可以建一个Debug(Release)文件夹,集中存放Debug(Release)文件。
图3
在Link项下Output file name 中在文件名后加一个大写D以区别Release版。
然后我们选择Release项下的General,同样类似于Debug在Intermediate files:填“..\Release\TelDtTest”
完成对开发环境的设置,我们开始对文件进行修改。
2.文件修改:
点开FileView,可见当前项目的逻辑视图(如图4)点开TelDtTest的源文件删除掉TelDtTest.def文件。
图4
同时将TelDtTest.cpp文件和TelDtTest.h文件名改成TelDtTestApp.cpp和TelDtTestApp.h.为了避免将来命名的重用。此时应该注意将TelDtTestApp.cpp文件下中头文件名的修改与上面修改一致(如图5)。
图5
接着点开stdafx.h删除下列几行:
#ifndef _AFX_NO_DB_SUPPORT
#include afxdb.h // MFC ODBC database classes
#endif // _AFX_NO_DB_SUPPORT
#ifndef _AFX_NO_DAO_SUPPORT
#include afxdao.h // MFC DAO database classes
#endif // _AFX_NO_DAO_SUPPORT
注意这时虽然编译可以通过,但你使用Class Wizard时会出现以下问题:
造成该问题的是因为修改了其.cpp 和 .h文件的名字,点击确定后在下面图中红线相应的位置进行修改即可。
分别改为g:\teldttest\teldttestapp.h 和g:\teldttest\teldttestapp.cpp
3.现在可以加入自己的类,具体方法如下:
首先可以新建一个头文件“TelDtTest.h”,在里面进行添加下列的代码生成头文件。
#ifndef _TEL_DT_TEST_H
#define _TEL_DT_TEST_H
#include TelDtTest.H
#ifndef _TEL_DT_TEST_LIB
#define TelDtTest_Export_Class _declspec(dllimport)
#else
#define TelDtTest_Export_Class _declspec(dllexport)
#endif
//*****************************************************************
//类名: CTelDtTest
//说明:
//责任:
//关系:
//操作:
//属性:
//特殊需求:
//备注:
//制作日期:
//制作人:
//版本:
//修改记录
//*****************************************************************
class TelDtTest_Export_Class CTelDtTest
{
public:
CTelDtTest();
virtual ~CTelDtTest();
public:
//属性
//操作
//添加自己类的组成函数等
protected:
private:
};
#ifndef _TEL_DT_TEST_LIB
#ifdef _DEBUG
#pragma comment(lib, TelDtTestD.Lib)
#else
#pragma comment(lib, Tel
文档评论(0)