如何确定Windows库函数(如AD域服务函数)需链接的依赖库?
MinGW下确定AD Domain Services函数依赖库的实用方法
当微软文档只给出头文件却未说明需链接的库,且无法使用MSVC的自动链接机制时,试试这几个接地气的办法:
扒头文件里的隐藏提示:打开你用到的AD相关头文件(比如
activeds.h),搜索#pragma comment(lib,——虽然MinGW不识别这个编译指令,但很多头文件保留了MSVC的注释,直接就能看到对应的库名(比如activeds.lib,MinGW里对应链接参数是-lactiveds)。用
nm工具扫库找函数:MinGW自带的nm工具能扫描库文件里的符号。打开MinGW终端,进入系统库目录(比如C:\MinGW\lib或者C:\Windows\System32),执行:nm -D libactiveds.a | grep 你的目标函数名如果能搜到函数符号,这个库就是你要链接的。要是静态库没结果,试试扫对应的动态库(比如
activeds.dll)。先试常见的AD依赖库:AD相关函数常用的依赖库一般是
activeds和netapi32,直接在编译命令里加-lactiveds或者-lnetapi32,编译测试一遍,能通过就搞定了。查MinGW社区的经验:MinGW的论坛、归档帖里很多人问过类似问题,搜索AD Domain Services相关内容,大概率能找到现成的依赖库清单。
内容的提问来源于stack exchange,提问作者Gem Taylor
相关产品推荐
相关产品推荐

