在vs2010中,根据已有代码和第三方静态库创建项目
来源:互联网 发布:2017网络电影 编辑:程序博客网 时间:2024/06/03 14:52
一直在linux下编译程序,第一次用vs2010编译程序,遇到不少问题,特别是添加第三方静态库的时候,出现的错误很难排查。好在最终成功,写下来以供以后参考。
从网上下载了海思h264解码程序的源文件以及提供的静态库,接下来就开始用vs2010建立工程。
1、从原有项目中创建工程
2、直接点下一步
3、选择项目文件所在位置,给项目命一个名字
4、在项目类型中选择“控制台应用程序项目”,然后一路下一步,直到完成创建
创建成功后,直接按F7键生成解决方案,这时候报错:
这些无法解析的外部符号是在海思提供的库文件hi_h264dec_w.lib中,因此需要把库文件添加进来。有两种方法:
1)显式的添加该库文件
比如该库文件在 D:\decoder\lib 目录下,那么就在代码中添加一句:#pragma comment(lib, "hi_h264dec_w.lib")
如果提示找不到或者无法打开,那么就加个绝对路径 :#pragma comment(lib, "D:\\decoder\\lib\\hi_h264dec_w.lib")
hi_h264dec_w.lib就是所需的静态库文件。(注意,路径中“\"需要转义,因此要写成“\\")。
2)在配置中添加:
按Alt+F7 打开项目属性对话框,配置属性-》链接器-》输入-》附加依赖项,添加该库文件的名字。注意该库文件跟前面以分号隔开
问题又来了,按Ctrl+Alt+F7重新生成解决方案,出现这个错误:
网上找到海思的帮助手册:
原来是需要把这四个库文件给排除掉,那么就在配置中忽略
依然报同样的错误,那么在刚才忽略的位置再加上libmmt.lib
接下来又有新的错误:
那么重复刚才的步骤,把libcmt.lib也忽略掉即可。
其实忽略特定库,还有一个方法,比如要忽略libcmt.lib库,可以在代码中加上一句:#pragma comment(linker, "/NODEFAULTLIB:libcmt.lib")
到此,终于编译成功。
- 在vs2010中,根据已有代码和第三方静态库创建项目
- NDK/JNI 已有第三方静态库(动态库),编译静态库(动态库) -- 试试
- 在VS2010中创建和调用动态链接库和静态链接库
- JIN学习一、Android使用已有C/C++代码、第三方SO库的方法
- JIN学习一、Android使用已有C/C++代码、第三方SO库的方法
- JIN学习一、Android使用已有C/C++代码、第三方SO库的方法
- Android使用已有C/C++代码、第三方SO库的方法(JIN学习)
- CocoaPods 删除已导入项目的第三方库和移除项目中的CocoaPods
- CocoaPods 删除已导入项目的第三方库和移除项目中的CocoaPods
- 在VS2010项目中引用Lib静态库
- 在React Native项目中使用第三方库
- 如何在Eclipse中查看第三方库的代码
- xcode4中使用第三方静态库
- 在Android项目中调用已有.so库
- pod删除已导入的第三方库和移除项目中的cocoapods
- Android开发如何在自己的项目中引用第三方代码
- 在已有项目中创建webservice,调用原有service为null
- 在AS中添加第三方jar和.so库
- 在Python常用模块I如何打开相关文件的方法
- 彻底搞懂四元数
- Android开源项目SlidingMenu深入剖析
- [寒江孤叶丶的Cocos2d-x之旅_11]Cocos2d-x的重力感应Demo。如何使用重力感应。
- 邻接表实现图的储存,遍历
- 在vs2010中,根据已有代码和第三方静态库创建项目
- RPC python
- c++基础学习9-c++中的操作符重载
- linux上ln命令详细说明
- HDOJ 题目4508湫湫系列故事——减肥记I(完全背包)
- 虎嗅9.2
- Android:Layout_weight的深刻理解
- 利用poi对dotx指定字符进行替换
- leetcode: Divide Two Integers