VS2012 编译libmseed源码生成dll文件并调用中遇到的一些问题
来源:互联网 发布:东方时尚网络授课手机 编辑:程序博客网 时间:2024/05/18 01:09
写这篇文章是因为这个问题在网上搜索都不太符合我的情况,如果能帮助到别人,那就很好了。
说明一下具体情况:
因工作需要,要将libmseed源码编译成dll文件给其他人调用。
libmseed的源码已经很清晰了,用vs自带的nmake工具会很轻松的将libmseed.lib 生成,但是生成dll时会报错,所以选择用VS2012生成dll文件。
首先选择 ‘新建项目’->‘win32’项目,应用程序类型选择 ‘DLL’, 附加选项选择 ‘空项目’,'完成'。
在打开的‘解决方案自愿管理器’中,在项目上右键 ‘添加现有项’ ,将源码都添加到项目中。
右键 ‘属性’->‘连接器’->‘输入’ , 在模块定义文件中 将源码里面的libmseed.def 文件的路径输入进去。 如:F:\libmseed\libmseed-master\libmseed.def
介绍一下def文件: 这里面存了一些函数名 ,在生成dll文件的时候会将这些函数保存在里面,具体的请百度。
然后就可以编译了,生成的dll文件就可以调用了。
十分感谢def文件用法介绍的作者,下面是连接:
http://blog.csdn.net/huang_xw/article/details/7524448
下面说一下dll文件调用时需要做的一些做法:
如何在编译器(vs2013)里设置调用别人写好的lib和dll步骤:
1.Tools->options->projects and solutions->VC++ directories分别在包含文件,库文件填加了路径
(这些路径只告诉编译器怎么找文件,没有说把那里面的文件加入工程.) (若不设置,编译报错:无法打开***文件)
2.Project->properties->c/c++->general->additional include directories 添加包含文 件
Project->properties->linker->general->additional library directories 添加库文 件
Project->properties->linker->input->additional additional dependencies添加用到的lib
(这一步也可以在代码中显示调用 #pragma comment(lib, "***.lib") )
(若不添加,连接报错:无法解析的外部符号)
3.将dll文件拷贝到工程debug文件下(如果不拷贝,编译链接不报错,运行报错:无法找到***.dll)切记第三条,
上面这些文字来源于百度文库,由于我的原因找不到原链接,请大家见谅。
以上这些内容希望帮助到需要的人,如有错误请指出,谢谢。
- VS2012 编译libmseed源码生成dll文件并调用中遇到的一些问题
- VS2015 编译生成C#的DLL文件,并调用
- 使用VS2012生成和调用DLL文件
- VS2012/2013 工程在编译过程中遇到的一些问题?
- 编译生成.NET DLL并调用
- VS2012 C语言dll文件生成和C#调用
- 编译ORBSLAM2中遇到的一些问题
- 如何生成DLL文件并导出函数及如何在C++或C#中调用DLL中导出的函数
- VC与Matlab混合编程(在VC中调用.m文件编译生成的DLL)
- win7 VS2012 编译可在XP下调用的dll文件
- C#调用C++编译生成的dll文件
- MFC编译生成文件的一些问题
- C/C++/C#问题记录(一)VS2012编译调用dll项目找不到lib的workaround
- VS2012中创建Web服务并编译为dll的方法
- 使用C#生成dll文件并调用
- C++生成并调用dll文件
- C++生成并调用dll文件
- Eclipse中调用VS 2012生成的DLL文件,进行调试的步骤。。。[含VS2012中release版本的调试配置]
- linux系统启动tomcat
- 大数据教程(四)—— Hadoop集群VSFTP和SecureCRT安装配置
- React Native 组件之DrawerLayoutAndroid(抽屉)
- [BZOJ4445][Scoi2015]小凸想跑步(半平面交)
- Java 8新特性终极指南
- VS2012 编译libmseed源码生成dll文件并调用中遇到的一些问题
- 常用基本Linux命令行(附图)
- 大数据教程(五)—— Hadoop集群MYSQL的安装
- swift 根据文字自动计算Label大小
- 搜狗拼字--疑难杂字的快速输入
- BOM之navigator对象和用户代理检测
- 配置github公钥实现无密提交代码
- 在FFMPEG中新增Filter
- C# 判断Socket断线重连