VC++2010 的路径设置方法(整理)

时间:2021-12-15 05:55:45


INCLUDE+LIB设置是一个不错的方法,但是有时候为了保证代码的可以移植需要设置相对路径。

要了解vc中使用#include命令包含头文件所搜寻的路径,必须先了解vc中的几种路径:

1. 系统路径

系统路径在vc中是"Tools->Options->Directories"中"Include files"指定的路径。

打开此对话框会发现默认有这几条路径:

C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE

C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE

我们可以在这里添加,这样我们自己添加的路径也会成为系统路径。添加的格式必须按照上面来写。

2. 当前路径

当前路径是指vc工程中工程文件所在的路径,即.dsw文件所在路径。

网上有很多朋友说,当前路径是指.cpp文件所在路径,经过测试,这个说法也是正确的。但是使用vc编译时,是不正确的。

3. 附加路径

附加路径是指在"Project->Settings->C/C++->Preprocessor->Additional include directories "中指定的路径。

此路径默认为空,我们可以在此处填写需要路径,比如:在此处填入"C:\123\",(不要引号),那么附加路径就会变成"C:\123\" 。

上面的1,3路径,我们均可以自己编辑。在编辑过程中,可以使用绝对路径,也可以使用相对路径。

比如,在添加系统路径时,可以这样填写:

 .\SRC\  这样写表示,当前目录中的SRC文件夹;

 ..\SRC\  这样写表示,当前目录的上一层目录中SRC文件夹;

 ...\SRC\ 这样写表示,当前目录下  ..\SRC\\ 路径,当然这种写法已经和第一种重叠了。

这种相对路径的写法,vc会自动帮我们转化为绝对路径。

在添加附加路径时,其相对路径的写法和系统路径是一致的。

在vc中使用#include 命令,有三种形式:

1. #include <file.h>

vc执行这条指令时,它会在系统目录中去查找 file.h 文件。

在此条码命令中,vc不会去当前路径和附加路径中查找文件。

2. #include "file.h"

vc执行这条指令时,它首先会搜索附加路径,如果没有则会搜索系统路径,如果还没有则会去搜索当前路径。

3. #include "directory\file.h"

vc执行这条指令时,它会去指定的路径去查找文件,如果没找到,它不会继续查找。 



Visual C++ 概念:生成 C/C++ 程序
模块定义 (.def) 文件

模块定义 (.def) 文件为链接器提供有关被链接程序的导出、属性及其他方面的信息。生成 DLL 时,.def 文件最有用。由于存在可代替模块定义语句使用的链接器选项,通常不需要 .def 文件。也可以将 __declspec(dllexport) 用作指定导出函数的手段。

在链接器阶段可以使用 /DEF(指定模块定义文件)链接器选项调用 .def 文件。

如果生成的 .exe 文件没有导出,使用 .def 文件将使输出文件较大并降低加载速度。

有关更多信息,请参见下列章节:

    *

      模块定义语句的规则
    *

      EXPORTS
    *

      HEAPSIZE
    *

      LIBRARY
    *

      NAME
    *

      SECTIONS
    *

      STACKSIZE
    *

      STUB
    *

      VERSION
    *

      保留字

请参见
参考
链接器选项
有关生成的常见问题
其他资源
C/C++ 生成参考


; AIDemo_CPP.def
; 该文件定义了DLL要导出的函数接口名

LIBRARY "AIDemo_CPP"

EXPORTS
AI_Create @1
AI_Destroy @2
AI_Init @3
AI_SetDepth @4
AI_SetTimeLimit @5
AI_PlaceChessman @6
AI_Play @7
AI_IsFull @8
AI_IsWin @9
AI_QuerySituation @10
AI_QueryAuthorInfo @11
AI_QueryAIInfo @12

; Ok, over