生成.dll时,如果只有.dll,没有.lib,如何解决?(生成.DLL提供方用的是dllexport,使用方用的是dllimport,用个宏来代替)
来源:互联网 发布:js 对象未定义 编辑:程序博客网 时间:2024/06/05 10:37
原文:http://blog.csdn.net/kesalin/article/details/1612998
步骤:TrueSingDetect.dll对应函数所在的.h文件中加上方案一中的#if BUILDING_DLL 。。。。#endif /* Not BUILDING_DLL */中的内容,并在vs属性C/C++ 预处理器 预处理器定义 中添加BUILDING_DLL,然后编译,就可在release中看见.dll和.lib(编译的是什么版本就看什么版本)
情况一:如果函数定义的类型是类
TrueSingDetect.h
#if BUILDING_DLL
# define DLLIMPORT _declspec (dllexport)
#else
# define DLLIMPORT _declspec (dllimport)
#endif
class DLLIMPORT TureSingJudge{
# define DLLIMPORT _declspec (dllexport)
#else
# define DLLIMPORT _declspec (dllimport)
#endif
class DLLIMPORT TureSingJudge{
}
TrueSingDetect.cpp
TureSingJudge::TureSingJudge(){
}
TureSingJudge::~TureSingJudge(){
}
}
TureSingJudge::~TureSingJudge(){
}
方案一:
TrueSingDetect.h
#ifndef _TrueSingDetect_H_
#define _TrueSingDetect_H_
#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
DLLIMPORT int TrueSingDetect(void);
#endif
#define _TrueSingDetect_H_
#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
DLLIMPORT int TrueSingDetect(void);
#endif
TrueSingDetect.cpp
#include "TrueSingDetect.h"
__declspec (dllexport) int TrueSingDetect(void){
int resulut=0;
return resulut;
}
__declspec (dllexport) int TrueSingDetect(void){
int resulut=0;
return resulut;
}
方案二:
TrueSingDetect.h
#ifndef _TrueSingDetect_H_
#define _TrueSingDetect_H_
#define DllExport __declspec( dllexport )
DllExport int TrueSingDetect(void);
#endif
#define _TrueSingDetect_H_
#define DllExport __declspec( dllexport )
DllExport int TrueSingDetect(void);
#endif
TrueSingDetect.cpp
#include "TrueSingDetect.h"
DllExport int TrueSingDetect(void){
int resulut=0;
return resulut;
}
DllExport int TrueSingDetect(void){
int resulut=0;
return resulut;
}
0 0
- 生成.dll时,如果只有.dll,没有.lib,如何解决?(生成.DLL提供方用的是dllexport,使用方用的是dllimport,用个宏来代替)
- VS生成DLL没有生成LIB文件的解决方法
- VS生成DLL没有生成LIB文件的解决方法
- vs2008 dll lib的生成和使用
- 编写DLL函数时的 __declspec(dllexport) 与 __declspec(dllimport)
- C#关于程序集生成失败【引用DLL及第三方DLL没有强名称的解决办法】
- 解决第三方DLL没有强签名的问题
- 关于程序集生成失败-引用的第三方DLL没有强名称的解决办法
- VS2013 生成dll事,没有lib生成
- 用cl与icl的编译生成.lib与.dll
- 生成dll时,同时生成的.lib, .exp 的用途
- VC根据第三方提供的xxx.dll,xxx.lib,xxx.h调用动态库
- 解决第三方DLL没有强签名
- 解决第三方DLL没有强签名
- 根据DLL生成lib的命令
- dll生成对应的导入库lib
- 【编码随笔】生成带lib的dll
- dll工程lib库的生成问题
- 设计模式之单例模式
- RESTful API 设计指南
- HTTP Headers
- ORA-02046: 分布式事务处理已经开始解决方案
- 3.毕向东_贴图
- 生成.dll时,如果只有.dll,没有.lib,如何解决?(生成.DLL提供方用的是dllexport,使用方用的是dllimport,用个宏来代替)
- SignalR 集线器简单实例2
- csdn
- Android创建和使用数据库
- 【Codeforces Round 269 (Div 2)D】【KMP】我们的积木和目标积木的等增幅的匹配位点数
- 开始我的编程日志
- 给相同的类对象赋值
- xcode/osx官方直接下载地址(离线下载)
- 单线程你别阻塞,Redis时延问题分析及应对