1. C代码编成静态库和动态库,如果没有.def文件,只生成动态库.dll, 不会生成静态库.lib.
以下可以代替.def 文件:
头文件中定义如下代码:
#if defined(UILIB_EXPORTS)
# if defined(_MSC_VER)
# define UILIB_API __declspec(dllexport)
# else
# define UILIB_API
# endif
#else
# if defined(_MSC_VER)
# define UILIB_API __declspec(dllimport)
# else
# define UILIB_API
# endif
#endif
函数接口加 宏UILIB_API 定义,导出函数。
2. C++代码编译静态库和动态库,没有试过用.def文件,试过上边提到的方法,没有定义 __declspec(dllexport)时只生成动态库,不生成静态库
定义宏UILIB_API ,类名用 宏定义定义 class UILIB_API 类名
3. 库文件生成到对应的路径:
动态库:属性-配置属性-链接器-常规-输出文件 (添加生成动态库路径包括动态库名称)
静态库:属性-配置属性-链接器-高级-导入库(添加生成静态库路径包括静态库名称) ? 不明白为啥在导入库 设置静态库的生成路径