VC创建Def文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VC创建Def文件相关的知识,希望对你有一定的参考价值。
人家说制作DLL需要Def做导出。。那Def文件在VC向导里怎么创建?
你建一个文本文件,然后把后缀名.txt改成.def 加载到项目里就可以,而且用def文件作导出是一种方法,另外你还可以声明导出函数。 参考技术A 新建一个MFC ActiveX ControlWizard 工程,就会自动生成一个.def文件,内容如下:*.def : Declares the module parameters.
LIBRARY "*.OCX"
EXPORTS
DllCanUnloadNow @1 PRIVATE
DllGetClassObject @2 PRIVATE
DllRegisterServer @3 PRIVATE
DllUnregisterServer @4 PRIVATE
lib.exe 根据.def文件生成.LIB文件(SQLite3)
从网上下载的一般都是SQLite3.dll和SQLite3.def文件,而在VC++6.0下还需要使用.lib文件。 所以,我们首先需要自己生成.lib文件。
生成的方法是:
第一步:找到LIB.EXE所在目录
一般都在C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023inHostx64x86
下(如果VC是装在C盘的话),在“运行”中输入cmd,然后切换到该目录下
第二步:使用LIB命令生成.lib文件
很多网页上都介绍,使用LIB /DEF:sqlite3.def /machine:IX86即可生成,可是我使用它时遇到一些小问题。
这里就不说了,说说应该注意的几点问题吧。第一个,你的sqlite3.def要是没有在
C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023inHostx64x86下,
需要写全路径;第二,为了清楚起见,你需要注明.lib文件的输出路径。下面我给出一个完整的命令行:
C:Program Files (x86)Microsoft Visual Studio2017EnterpriseVCToolsMSVC14.16.27023inHostx64x86>LIB /out:D:sqlite3.lib /MACHINE:IX86 /DEF:D:sqlite3.def
运行完这个命令后,你会在D:下发现sqlite3.lib和sqlite3.exp两个文件。
我出的问题就是没有设置/out:D:sqlite3.lib ,
导致我运行后,找不到sqlite3.lib和sqlite3.exp这两个文件,即使我整台机器作了搜索!
以上是关于VC创建Def文件的主要内容,如果未能解决你的问题,请参考以下文章