关于VS的操作:Additional Include directories、Additional Library directories、Addition

本文转载自http://blog.sina.com.cn/s/blog_79ba23780101gpeh.html,

此文属于夏之吻的原创。。。

1.Configuration Properties => C/C++ => General => Additional Include directories:添加额外的你要搜索的包含头文件的“include”目录。

2.Configuration Properties => Linker => General => Additional Library directories:添加额外的你要搜索的包含库文件(即.lib)的目录。

3.Configuration Properties => Linker => Input => Additional dependencies:清楚地列出你要添加的.lib文件。

其中2与3的主要区别:其中2只告诉链接器在哪个位置搜索.lib文件,而3却说明了在2提供的目录位置下具体要搜索的库文件。当然,在Debug与Release下这些可以不同(包括目录与库文件)。对于2来说,在程序中可以用“#include  "头文件的具体位置"”预编译指令实现,而对于2,3来说,在程序中可以用“#pragma comment(lib, "库文件的具体位置\\libname")”预编译指令来实现。{具体的信息可以在MSDN里参考#pragma directives指令,结合百度百科#pragma comment看。另一种设置的方法是像你添加.h和.cpp文件一样,把lib文件添加到工程文件列表中去.VC中,切换到"解决方案视图",--->选中要添加lib的工程-->点击右键-->"添加"-->"现有项"-->选择lib文件-->确定即可.

4.Configuration Properties => Linker => General => Output File:可以指定输出的.exe名或者.dll名

5.Configuration Properties => Linker => Advanced => Import Libary:指定要生成的导入库,5必须配合4的使用。因为通常我们在生成.dll的时候要配合生成一个.lib文件,这个.lib文件称为导入库(详见百度百科“导入库”注意其与“静态库”的区别),将这个.lib文件通过上述讲过的三种方法添加到程序里,我们就可以引用.dll文件了,当然也可以在程序中直接使用函数HANDLE hModule=LoadLibrary("dll文件名")获得.dll文件的使用权,配合Getprocaddress函数的使用来调用.dll文件中的函数(当然你要熟悉.dll文件中的函数)以及FreeLibrary函数释放dll。

6.有些程序员反应,按照如上的设置不能生成.lib文件(即导入库),因为在程序中没有在要导出的函数前加上__declspec(dllexport)的声明,方法一:例如你要导出myFunc()这个函数,你可以这样写:__declspec(dllexport) int add(){}。这种方法导出的函数只能被VC++用户调用。方法二:也可以在.def文件中定义.dll信息以及要导出的函数的信息,在链接器阶段可以使用“/DEF 模块定义文件”链接器选项调用.def文件。而这种方法导出的函数可以被VC++、VB、Delphi等用户使用。

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值