本来不该发生这种惨剧的,引用个dll引用了一个晚上,看了一晚上的error。
就是编译原理没学过,也不知道为什么,就我这届这门课被砍了,搞得编译器和解释器很多东西一知半解基本靠自己摸索。
话不多说,今天晚上掉mysql的驱动的时候,编译器疯狂在链接阶段报错,链接不到dll文件。
查了半天终于看到一个合适的答案了。编译原理考研没时间看回头再补,有大佬补充就听大佬的。目前我看到的情况是这样的。确定一个dll文件需要的是:
- .h的头文件
- lib(个人感觉是用来描述dll的文件)
- dill文件本身
因此VS下C++项目引用dll文件就有了对应三个部分,
- 项目属性->C++->常规->附加包含目录:只有添加了才能检索到对应的.h文件
- 项目属性->C++->连接器->常规->附加库目录
项目属性->C++->连接器->输入->附加依赖项
(这两项共同确定了使用哪一个lib) - lib只需要放在包括exe所在目录下的所有的path目录即可。
网友评论