如何设置在VC编译的程序的文件厂商
貌似是要添加个.rc文件然后编译之,再和其他中间文件链接到可执行文件。xxx.rc该怎么写,编译参数又该怎么写呢?set src=aaa
set res=bbb
set obj=%src%.obj %res%.obj ccc.obj
set path=xxx;%path%
set inc=
set UMLIBS=
set tag=/machine:ix86
rc /I"%inc%" %res%.rc
cvtres %tag% %res%.res
cl%inc% ...
link %obj% %UMLIBS% %tag% ....
这个rc直接用VS的IDE来个“可视化操作”,搞一个“版本信息”的资源进去,填写以下表单然后编译为res就好。到时候丢给链接器就好。
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (United States) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,0,0,1
PRODUCTVERSION 1,0,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x40004L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Macr Hard Crop."
VALUE "FileDescription", "Advanced Hello world."
VALUE "FileVersion", "1.0.0.1"
VALUE "InternalName", "t0.exe"
VALUE "LegalCopyright", "Copyright (C) MacroHard 2017"
VALUE "OriginalFilename", "t0.exe"
VALUE "ProductName", "Holla"
VALUE "ProductVersion", "1.0.0.1"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (United States) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
cyycoish 发表于 2017-4-17 13:29
// Microsoft Visual C++ generated resource script.
//
#include "resource.h" ...
如果编译为驱动,FILE_TYPE啥的要改动么? tangptr@126.com 发表于 2017-4-17 14:49
如果编译为驱动,FILE_TYPE啥的要改动么?
不晓得,我没有用rc文件链接过驱动文件。先试试看。 cyycoish 发表于 2017-4-17 14:52
不晓得,我没有用rc文件链接过驱动文件。先试试看。
资源编译器错误。。。
RC1106: Invalid Option:-ologo tangptr@126.com 发表于 2017-4-17 15:06
资源编译器错误。。。
RC1106: Invalid Option:-ologo
你得先 rc.exe /r xxx.rc 生成 xxx.res然后 link 的输入接收 res 文件
再注意一下 resource.h 中的内容。 cyycoish 发表于 2017-4-17 15:11
你得先 rc.exe /r xxx.rc 生成 xxx.res然后 link 的输入接收 res 文件
再注意一下 resource.h 中的 ...
rc 文件有错误 res 文件就不能生成。 cyycoish 发表于 2017-4-17 15:11
你得先 rc.exe /r xxx.rc 生成 xxx.res然后 link 的输入接收 res 文件
再注意一下 resource.h 中的 ...
唉,VS2010的IDE还是敲敲代码好,自定义编译参数的事情还是得靠批处理。。。
多谢各位了,设置驱动的文件厂商的事情搞定了,只不过还是靠批处理实现链接的,不知为何,VS2010编译的时候竟然还冒出个mt.exe报TRK0005的错误,说mt.exe失踪了【大概是我改了编译器位置的关系】 tangptr@126.com 发表于 2017-4-17 15:06
资源编译器错误。。。
RC1106: Invalid Option:-ologo
RC1106错误可能是你的SDK版本问题。使用高版本的SDK内的资源编译器。
然后FileType应该不是什么关键问题,改变filetype的话在IDE UI中列表框内给了很多宏选项,你可以根据需要改一下。 tangptr@126.com 发表于 2017-4-17 15:20
唉,VS2010的IDE还是敲敲代码好,自定义编译参数的事情还是得靠批处理。。。
多谢各位了,设置驱动的文件 ...
IDE 配置好了以后不变环境用起来相当舒服,一旦变了环境,改起配置来能烦死人。批处理只要有模版就好,不然的话每次自己编译都要去挑编译器参数,链接器参数,,,也能烦死人。:( 如果你先装vs2008在装vs2010会导致各种各样的问题。因为vs2010安装过后没有把所有的配置全部改写为vs2010的配置。部分配置是按照vs2008来的。然后就会出现各种链接错误、COFF文件损坏,编译器找不到运行时库等等。。。不仅如此能导致千奇百怪的问题,vs2010安装完后打完sp1补丁也会出现各种各样的问题。vs2013各种bug,vs2015相对成熟但是占用资源特别厉害。vs2017就好多了。
MAC环境下也是一堆问题。这几个月xcode更新后,xcode的注释功能也毁灭了。然后用xcode对接其他非clang编译器通常是比登天还难的事情。 cyycoish 发表于 2017-4-17 15:30
IDE 配置好了以后不变环境用起来相当舒服,一旦变了环境,改起配置来能烦死人。批处理只要有模版就好,不 ...
我现在习惯用WDK的编译器。。。前面把VS里的编译器给替换掉了,换成WDK的编译器,然后因为缺了mt.exe不能生成可执行文件。。。
批处理可以定制编译参数,什么源文件需要什么宏可以定义的清清楚楚。。。 如果makefile就简单了!
SOURCES=aaa.c \
bbb.c \
aaa.rc
:loveliness::loveliness::loveliness::loveliness::loveliness::loveliness::loveliness:
页:
[1]