在mingw编译环境下为dll添加版本信息
来源:互联网 发布:淘宝店"开名"假货 编辑:程序博客网 时间:2024/06/03 22:48
在工程中,常常需要为dll添加版本信息,如果有vs工程比较好办,但是没有vs,在Mingw下也不难,通过对网上资料的搜集及验证,特分享。
1、假设有obj.c文件,内容如:
#include<stdio.h>int add(int a,int b){return a+b;}void main(){printf("******\n");}
2、为dll添加版本信息,其实就是利用了资源文件,如obj.rc
1 VERSIONINFOFILEVERSION 1,0,0,0PRODUCTVERSION 1,0,0,0FILEFLAGS 0x1LFILEOS 0x40004LFILETYPE 0x1LFILESUBTYPE 0x0LBEGIN BLOCK "StringFileInfo" BEGIN BLOCK "080904E4" BEGIN VALUE "CompanyName", "My Company Name" VALUE "FileDescription", "My excellent application" VALUE "FileVersion", "6000" VALUE "InternalName", "my_app" VALUE "LegalCopyright", "My Name" VALUE "OriginalFilename", "my_app.exe" VALUE "ProductName", "My App" VALUE "ProductVersion", "6000" END END BLOCK "VarFileInfo" BEGIN VALUE "Translation", 0x809, 1252 ENDEND
3、怎么用?
(1)、打开cmd ,输入:
call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"call "C:\MinGW\msys\1.0\msys.bat"
(2)、cd 到obj.c obj.rc所在目录
执行:
gcc -c obj.c -o obj.owindres obj.rc -O coff -o obj.resgcc -o obj obj.o obj.res
(3)、然后可以右键看obj的版本信息了
另:也可以使用cl.exe link.exe
cl -c obj.cwindres obj.rc -O coff -o obj.reslink obj.obj obj.res
注意:上述描述的是针对编译32位的dll,编译64位的dll请参考下面的代码:windres改为rc,是由于windres跟你安装的Mingw版本有关,如果mingw是32位的则windres也是32位的,不易编64位库,因此改成rc通用些。
cl -DWIN64 -c obj.c -Foobjrc -DWIN64 -fo obj.res obj.rc link obj.obj obj.res
- LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
方案一:(这个方法比较好,在用qt运行时出现问题也能解决)
复制 C:\Windows\winsxs\x86_netfx-cvtres_for_vc_and_vb_b03f5f7f11d50a3a_6.1.7601.17514_none_ba1c770af0b2031b 目录下的 cvtres.exe 到C:\Program Files\Microsoft Visual Studio 10.0\VC\bin 目录下,直接覆盖替换。
参考网址:http://www.cnblogs.com/newpanderking/p/4003228.html
参考网址:http://blog.sina.com.cn/s/blog_68d0c6c30100kzv6.html
参考网址:http://blog.163.com/yuyang_tech/blog/static/2160500832013118112049372/
参考网址:http://blog.csdn.net/cruise_h/article/details/29218407
阅读全文
2 0
- 在mingw编译环境下为dll添加版本信息
- 在msys/MinGW环境下编译gstreamer
- 【PE】Windows平台下为可执行文件或动态库dll添加版本信息
- Windows下为使用Mingw环境的Qt编译opencv
- 在MinGW下创建DLL
- 在MinGW下创建DLL
- 为EXE/DLL添加版本信息,奋战至深夜
- 如何在windowsxp环境下编译pcre7.1(mingw)
- 在mingw环境下编译mplayer-1.0pre1的步骤
- mencoder在mingw开发环境下编译的注意事项
- 在MInGW环境下编译和使用libcurl静态库
- 在Windows环境下使用MinGW编译Qt 4.8.6
- FFmpeg在windows下的编译,搭建mingw+msys环境,含mingw+msys下载
- FFmpeg在windows下的编译,搭建mingw+msys环境,含mingw+msys下载
- 在MinGW下编译STLport
- 在MinGW下编译ffmpeg
- 在mingw下编译live555
- 在MinGW下编译ffmpeg
- 杭电1002:A+B Problem Ⅱ
- 图形推理
- 【普组模拟赛】马农
- 熟练度=正确的知识 X 大量的刻意练习。
- PostgreSQL+PostGIS的使用
- 在mingw编译环境下为dll添加版本信息
- 算法---穷举
- MFC获取文件的绝对路径
- python练习(五)
- 主界面实现_功能内容
- Oracle的存储过程、函数和触发器
- JZOJ5244. 【NOIP2017模拟8.8A组】Daydreamin
- 自建基于树莓派的网络打印服务器
- 监督学习和无监督学习