dll vs2010配置_VS2010设置目标文件(.dll.exe)和导入的库文件(.lib)的输出路径

2023-10-05 08:42

创建库文件工程时,经常需要设置.lib文件的路径和.dll 文件。

假设一个解决方案对应多个项目,但它们共享一些库,可以在解决方案文件夹下分别添加两个文件夹lib和bin(其实也可以放在一起,这样更方便)

lib文件:

项目属性页-配置属性-常规-输出目录-$(SolutionDir)\lib\

dll文件:

项目属性页-配置属性-链接器-常规-输出文件-$(SolutionDir)\bin\$(ProjectName).dll

转载自:http://m.gsm-guard.net/skyofbitbit/p/4044652.html

VS2010设置目标文件(.dll/.exe)的输出路径和导入库文件(.lib)

默认情况下,目标文件和导入库文件的路径为Debug或Release,文件名为工程名。扩展名是.dll/.exe 和.lib。那么我们如何修改.dll/.exe和.lib输出路径和文件名呢?首先我们需要了解VS2010中几个宏名称的含义,以及如何在配置页面中更改它们?

宏名称含义 修改位置 $(OutDir) 目标文件的输出目录 配置属性-常规-输出目录$(TargetName) 目标文件的名称 配置属性-常规-目标名称$(TargetExt) 的扩展名目标文件配置属性-General-Target Extension$(ProjectName) 项目的名称可以直接在IDE的Solution explorer视图中修改

目标文件的路径和文件名由IDE中的配置属性-链接器-常规-输出文件的内容指定。默认情况下,它是$(OutDir)$(TargetName)$(TargetExt)。从上面的宏名称介绍我们可以知道,只要修改配置属性-常规-输出目录,就可以改变目标文件的输出路径。同时也可以直接修改配置属性-链接器-常规-输出文件。

导入库文件路径和文件名由IDE中配置属性-链接器-高级-导入库的内容指定。默认为空,在这种情况下,将采用目标文件路径和名称,扩展名为 .lib。所以我们可以直接修改配置属性-链接器-高级-导入库的内容来改变导入库文件的输出路径。

??

(转载)

1。新建一个Win32项目,选择Dll,项目名称为MyDll

2。添加头文件:testdll.h,内容如下

???内容如下: [cpp]查看plaincopyprint? 1. #ifndef TestDll_H_???

2。 #定义TestDll_H_???

3.???

?4。 #ifdef MYDLL_EXPORTS???

?5。 #define MYLIBDLL extern "C" _declspec(dllexport)????

6。 #别的???

7。 #define MYLIBDLL extern "C" _declspec(dllimport)????

8。 #endif???

?9.??? 10. 外部“C”??? 11.{?? 12.???? MYLIBDLL int Add(int plus1, int plus2);?? 13. };?? 14.#endif?? ? 3.添加源文件:testdll.cpp,内容如下:?

?[cpp] 查看普通复印件? 1.#include“stdafx.h”???

?2。 #include "testdll.h"???

?3。 #包括???

4。使用命名空间 std

5.

6。 int Add(int plus1, int plus2)??

?7。 {??

?8.???? int add_result = plus1 + plus2;?

? 9.????返回add_result;??

?10。 }

4。选择编译类型为:Release(注意,我之前一直使用Debug模式时,会遇到各种错误,无法使用。为什么有知道的请赐教,不胜感激?)

5。编译并输出.lib和.dll文件。

6。将testdll.h、MyDll.lib、MyDll.dll这三个文件放在新建的目录libs下,并放在下一个工程的工程文件夹下(与MyDllDemo.sln同一个文件夹下)。 =================================================

1。创建一个新的 Win32 Console 项目并将其命名为 MyDllDemo

2。修改MyDllDemo.cpp

文件内容如下:

?[cpp] 查看普通复印件? 1.#include“stdafx.h”???

?2.???

3。 #包括

4。使用命名空间 std;??

5.???

6。 #include“testdll.h”???

7。 //#pragma comment(lib,"MyDll.lib")???

?8.???

9。 int main()??

10。 {?? 11.????整数a = 1;??

12.????整数 b = 2;?? 13.???? int c = 添加(a,b);?? 14.???? printf("%d + %d = % d\n",a,b,c);?? 15.??? 16.???? getchar();??

?17.????返回0;??

18。 }?? 3、配置头文件搜索路径:属性 -> C/C++ -> 常规 -> 其他包含目录 -> 输入libs的绝对目录,如D:\sonikk\project\c++\console32\MyDllDemo\libs

4。配置.lib文件搜索路径:properties -> Linker -> General -> Extra Library Directoryies -> 输入libs的绝对目录,如D:\sonikk\project\c++\console32\MyDllDemo\libs

?5。配置要导入的.lib文件(与代码中使用#pragma comment(lib,"MyDll.lib")语句效果一样):properties -> Linker -> Input -> Extralibrary Directoryies -> MyDll .lib

6。配置.dll文件搜索目录:将MyDll.lib与编译生成的exe一起放置在MyDllDemo项目的Debug目录下。好的~