windows搜索很多文件,包括lib,dll,头文件等很多都是按照以下顺序搜索的。
Windows按下列顺序搜索DLL:
(1)当前进程的可执行模块所在的目录;(比如exe所在目录)
(2)当前目录;(比如工程所在目录)
(3)Windows 系统目录,通过GetSystemDirectory 函数可获得此目录的路径;(system32文件夹内)
(4)Windows 目录,通过GetWindowsDirectory 函数可获得此目录的路径;(windows文件夹内)
(5)PATH 环境变量中列出的目录。(或者自定义的环境变量的目录)
因此,隐式链接时,DLL文件的路径不需要指定也不能指定,系统指定按照1~5的步骤寻找DLL,但是对应的.lib文件却需要指定路径;如果使用Windows API函数LoadLibrary动态加载DLL,则可以指定DLL的路径。