默认生成的控制台程序都没有图标,显示系统默认的丑丑的框框。于是上网搜索了下为程序添加图标。
可是搜出来的大都是VC++6.0的东西,我用的是C::B,所以那种直接从菜单就可以添加资源文件的方法就不适合了。
好在找到了另一种方法,其实就是手动编辑资源文件~
———————————————————昏割线———————————————
当初刚接触IDE时连怎么新建工程都不知道,所以我还是从第一步开始吧,新建工程:
文件-新建-工程(File-New-Project),或从起始页点击创建新项目。
这里演示的图标,就不修改代码了。
并把debug那两个框打勾,否则这个文件不参与编译的。。。
打开.rc文件(它可以任意文件名,但需要rc为后缀),输入
MAINICON ICON "a.ico"
就可以啦!其中a.ico是与工程在同一目录的已有图标。当然也可以使用绝对路径。
————————————————昏割线又来啦———————————————
可是,这只是图标哦。
你有木有发现人家的应用程序都有文件属性等详细说明啊,比如:
好吧,这个上网搜了好久死活没答案,最后在百度知道上提问,有VS的方法:C++设置生成的控制台程序的文件属性
不过最后在C::B论坛上搜索到了一篇手动编写.rc
文件的方法:
//< @see http://forums.codeblocks.org/index.php/topic,11128.msg76141.html#msg76141 #define VOS_NT_WINDOWS32 0x00040004L #define VFT_APP 0x00000001L //this will set your .exe icon A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "QQCml.ico" //include version information in .exe, modify these values to match your needs 1 VERSIONINFO FILEVERSION 0,1,1,2 //文件版本 PRODUCTVERSION 0,1,1,1 FILETYPE VFT_APP { BLOCK "StringFileInfo" { BLOCK "040904E4" { VALUE "CompanyName", "youthlin.com" // VALUE "FileVersion", "1.1" VALUE "FileDescription", "模拟QQ账号管理" //文件说明 // VALUE "InternalName", "-" VALUE "LegalCopyright", "Copyright(C)Youth.霖2014 GNU/GPL" //版权说明 VALUE "LegalTrademarks", "https://youthlin.com/ @Youth.霖" //合法商标 VALUE "OriginalFilename", "QQCml.exe" //原始文件名 VALUE "ProductName", "C++课程设计2014-模拟QQ账号管理" //产品名称 VALUE "ProductVersion", "2.0" //产品版本 } } BLOCK "VarFileInfo" { // VALUE "Translation", 0x0409, 1252 //language codes VALUE "Translation", 0x0804, 2052 ///< @see http://www.science.co.il/Language/Locale-codes.asp } } //30+430+430+1350+130+50+30=2450行
源链接:Topic: How to add icon and version information to .exe?
声明
- 本作品采用署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。除非特别注明, 霖博客文章均为原创。
- 转载请保留本文(《为C/C++控制台程序添加图标和版权信息》)链接地址: https://youthlin.com/?p=750
- 订阅本站:https://youthlin.com/feed/
“为C/C++控制台程序添加图标和版权信息”上的24条回复
那么问题来了,首先必须得会c
终于见用codeblocks的人了
同在用,之前网上不是说这个是免费的挺好的云云?实际上,还是用vs的人多啊,现在才发现这个很小众。
VS是一个很专业很强大的IDE,所以用VS的人肯定很多啦。
不过C::B是开源的,又比较轻便,还跨平台,因此也是一个很好的选择。
(比如知识需要写些小型的C/C++,就没必要装庞大的VS啦
学到不少东西,值得赞一个!
哈哈,一看就是Code::Blocks喽
很是不错的哈,。感谢分享。。
如此这般详细 这才叫原创
略显残暴
太厉害了,我们当年只会用C或C++做课堂作业或一些简单的东西而已。
哦,这些内容是通过代码写在编译前的呀。
技术活,仅支持。
过来看看哈,虽然自己不会弄
你博客昨天挂了
BTW,不要依赖IDE
据说是服务器遭到DDOS攻击,,
可以收到邮件吗
还没到不用IDE的境界。。。。
VS里面有这些东西
所以这是为C::B写的
工程,控制台 表示没有接触过
高端语言啊
挺基础的
不错的方法,很详细
沙发~~
完全不懂C……
坐等明天考试……