之前一直是在Linux搞开发,最近换到windows下,在Visual Studio里面配置的时候发现一个问题。
不知道怎么设置用静态库和动态库
这个问题具体描述的话:
- 为什么
输入里面在调用一些第三方库,比如opencv时候,明明打算调用的是dll,动态库。但是还是需要在输入里面写上lib。 - 为什么Windows下编译库往往需要设置 __declspec(dllexport)。
测试发现:
-
没有dllexport,选择配置文件是静态库(.lib)
-
没有dllexport,选择配置文件是动态库(.dll)
-
有dllexport,选择配置文件是动态库(.dll)
所以,如果想用静态库,就直接使用第一种就行。要用动态库的话,就用第三种。
ps: 为什么不能直接用dll呢?还是说能用,我没注意到使用方法?