vs批处理编译
① 怎样在win10中当前目录下建立批处理文件编译生成控制台64位C程序
这个东西是可以实现的,不过很麻烦,首先在win7系统中,以管理员权限运行CMD,输入 attrib -a -s -h -r c:\boot.ini 打开C盘复制boot.ini,再点粘贴出现副本boot.ini,比如你现在是默认XP先启动,,把它重命名为xp.ini,然后在系统里把win7设置为优先启动,再以管理员权限运行CMD,输入 attrib -a -s -h -r c:\boot.ini 打开C盘复制boot.ini,再点粘贴出现副本boot.ini,这时候把这个文件更名为win7.ini,再弄一个批处理文件将这两个文件来回换成boot.ini文件就可以了
② VS2010编译的时候报错 不是内部或外部命令,也不是可运行的程序或批处理文件.
首先复制VS2010的安装目录
在我的电脑右键属性-高级-环境变量-找到系统变量中的path在后面粘贴刚才复制的安装目录
注意在最后一个值得后面是否有英文状态的分号
有就不加 没有就加
例如
C:\windows\;C:\windows\system32\;安装目录;
③ 如何用批处理实现vc2010工程的编译请高手指点,谢谢
用nmake.exe
命令语法如下:
NMAKE [option...] [macros...] [targets...] [@commandfile...]
说明:其中,options是NMAKE的选项,macros是在命令行中的宏定义,targets是NMAKE的目标文件列表,commandfile是包含命令行输入的文本文件(或响应文件)。
NMAKE 使用指定 /F 选项的Makefile(生成文件,通常名字是makefile);如果未指定 /F 选项,则使用当前目录下的Makefile。如果未指定Makefile,则 NMAKE 使用推理规则生成命令行 targets。
关键是这个makefile文件的编写。给你个例子 参考
BIN = cppunit
DEBUG = 1
# dynamic dll 1, static lib 2, exe 3
TARGET_TYPE = 1
# thread model, 0 single, 1 multiple static, 2 multiple dll
THREAD_MODEL = 2
CPU = x86
UNICODE = 0
CINCLUDE_PATH = /I. /I..\..\include
LLIBS =
DLLFLAGS =
CFLAGS = /W4 /Zc:forScope /Zc:wchar_t /EHsc
CFLAGS = $(CFLAGS) $(CINCLUDE_PATH)
!IF "$(UNICODE)" == "1"
CFLAGS = $(CFLAGS) /D"_UNICODE" /D"UNICODE"
!ENDIF
LDFLAGS = /NOLOGO /MACHINE:$(CPU)
LDFLAGS = $(LDFLAGS) $(LLIBS)
TARGET =
!IF "$(DEBUG)" == "1"
TARGET = $(BIN)d
CFLAGS = $(CFLAGS) /Od /Ob0 /ZI /D"_DEBUG"
LDFLAGS = $(LDFLAGS) /DEBUG
!ELSE
TARGET = $(BIN)
CFLAGS = $(CFLAGS) /O2 /Ob1 /Zi /D"NDEBUG"
LDFLAGS = $(LDFLAGS) /OPT:REF /OPT:ICF
!ENDIF
LINK_TOOL =
!IF "$(TARGET_TYPE)" == "1"
LINK_TOOL = LINK /DLL /MANIFEST:NO
TARGET = $(TARGET).dll
!ELSEIF "$(TARGET_TYPE)" == "2"
LINK_TOOL = LIB
TARGET = $(TARGET).lib
!ELSE
TARGET = $(TARGET).exe
LINK_TOOL = LINK /MANIFEST:NO
!ENDIF
!IF "$(THREAD_MODEL)" == "1"
!IF "$(DEBUG)" == "0"
DLLFLAGS = /MT
!ELSE
DLLFLAGS = /MTd
!ENDIF
!ENDIF
!IF "$(THREAD_MODEL)" == "2"
!IF "$(DEBUG)" == "0"
DLLFLAGS = /MD
!ELSE
DLLFLAGS = /MDd
!ENDIF
!ENDIF
CFLAGS = $(CFLAGS) $(DLLFLAGS)
SRC = \
AdditionalMessage.cpp \
Asserter.cpp \
BeOsDynamicLibraryManager.cpp \
BriefTestProgressListener.cpp \
CompilerOutputter.cpp \
DefaultProtector.cpp \
DllMain.cpp \
DynamicLibraryManager.cpp \
.cpp \
Exception.cpp \
Message.cpp \
PlugInManager.cpp \
PlugInParameters.cpp \
Protector.cpp \
ProtectorChain.cpp \
RepeatedTest.cpp \
ShlDynamicLibraryManager.cpp \
SourceLine.cpp \
StringTools.cpp \
SynchronizedObject.cpp \
Test.cpp \
TestAssert.cpp \
TestCase.cpp \
TestCaseDecorator.cpp \
TestComposite.cpp \
TestDecorator.cpp \
TestFactoryRegistry.cpp \
TestFailure.cpp \
TestLeaf.cpp \
TestNamer.cpp \
TestPath.cpp \
TestPlugInDefaultImpl.cpp \
TestResult.cpp \
TestResultCollector.cpp \
TestRunner.cpp \
TestSetUp.cpp \
TestSuccessListener.cpp \
TestSuite.cpp \
TestSuiteBuilderContext.cpp \
TextOutputter.cpp \
TextTestProgressListener.cpp \
TextTestResult.cpp \
TextTestRunner.cpp \
TypeInfoHelper.cpp \
UnixDynamicLibraryManager.cpp \
Win32DynamicLibraryManager.cpp \
XmlDocument.cpp \
XmlElement.cpp \
XmlOutputter.cpp \
XmlOutputterHook.cpp
OBJECTS = $(SRC:.cpp=.obj)
all : $(TARGET)
$(TARGET) : $(OBJECTS)
$(LINK_TOOL) $(LDFLAGS) $(OBJECTS) /OUT:$(TARGET)
.c.obj::
$(CC) /c $(CFLAGS) $<
#
.cpp.obj::
$(CC) /c $(CFLAGS) $<
#
clean :
del /q $(TARGET)
del /q $(OBJECTS)
del /q *.pdb
del /q *.idb
能用ide还是尽量用ide吧,多方便。
④ C# 程序编译时 执行方法
如果你使用vs编译的话,可以使用项目属性中的生成事件中可以在生成前或是生成后执行命令。
如果使用手工命令行编译的话,可以做成批处理命令。
编译程序csc本身只管编译的事,它不会在编译前或是编译后做特别的事。这需要第三方的工具辅助.比如vs或是自己写的批处理程序。
当然你也可以使用C#开发程序对代码进行编译然后在编译前或是后执行一些命令。
⑤ UE如何调用VS编译C\C++
UE配置VS稍微麻烦一点,主要是VS自身对命令编译的支持不够直接,需要先运行它自己的批处理设置环境变量。以VS 10的vc 2010为例,配置UE。
1. 菜单Advanced-> Tool Configuration....
2. 点击Insert,然后Menu Item name里面填写VC(可自己修改);work directory填写%p;command line是关键,填写:
C:Progra~2Micros~2.0VCinvcvars32.bat && C:Progra~2Micros~2.0VCincl "%f"
说明: C:Progra~2Micros~2.0是我电脑里面vc 2010的目录的”短文件“名显示,它的具体名称各个电脑会不同,比如:C:Program Files (x86)Microsoft Visual Studio 10.0VCin
关键是找到vcbars32.bat和cl.exe的位置,----- 进入命令行,从C:盘起,用下面的命令罗列目录名称:
c:>dir/ad/x
每发现一个,用”cd 短目录名称“进入,然后重复上面的dir命令,直到找到visual studio里的bin目录位置.
3. 选择option,选择output to list box和capture output两项,然后OK保存退出。
4.编辑源码,然后再从Advanced从选择步骤2里面填写的VC菜单项,点击运行,就可编译了。
UE的编译环境没有其同门UEStudio来的方便,如果有兴趣,参见网络知道的问题519730341408692205, 那个也我对UEStudio下VC设置的回答。
如果是学习C/C++语言也就罢了,否则VC下的开发,还是用VS自己的IDE或命令行环境吧。
⑥ 如何编写一个编译c#控制台应用程序的批处理程序
不知道你有没有使用过ANT,你可以创建ANT脚本来构建你的应用程序。
如果不是很了解,也不愿意编写的话,我介绍你一款可视化的编写ANT脚本的软件(下载30天使用的License),你可能会主要用到ant脚本的exec命令。
http://www.placidsystems.com/virtualant/Default.aspx
⑦ VS2017批处理文件编译c文件出错在哪
1、 REM REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。例: REM 你现在看到的就是注解,这一句将不会被执行。在以后的例子中解释的内容都REM 会放在REM后面。请大家注意。 2、 ECHO ECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息 。例: Echo off Rem 以上代表关闭回显即不显示所执行的命令 Echo 这个就是消息。 Rem 以上代表显示“这就是消息”这列字符执行结果: C:\>ECHO.BAT 这个就是消息。
⑧ 怎样在win10家庭版当前目录下建立批处理文件编译链接生成控制台64位C程序最简单地举一例
1、 REM
REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。例:
REM 你现在看到的就是注解,这一句将不会被执行。在以后的例子中解释的内容都REM 会放在REM后面。请大家注意。
2、 ECHO
ECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息 。例:
Echo off
Rem 以上代表关闭回显即不显示所执行的命令
Echo 这个就是消息。
Rem 以上代表显示“这就是消息”这列字符
执行结果:
C:\>ECHO.BAT
这个就是消息。
⑨ win10中批处理编译单个c文件生成控制台程序,能否像vs工程编译出来的release版本一样小执行速度一样快
应该不会,而且并不方便
⑩ 同时装VC6 VS2010,查看编译器版本
先调用VS2010 的SDK 的环境设置, 后进行CL命令
VS2010 的安装后会自动添加一个%VS100COMNTOOLS%的环境变量, 利用该变量设定的安装目录,可以定位VS2010提供的环境变量设定批处理文件路径(%VS100COMNTOOLS%..\..\vc\vcvarsall.bat)
以下是一个在命令行中编译工程的批处理示例(build.bat), 希望能对你有所帮助
set "curr_dir=%cd%"
call "%VS100COMNTOOLS%..\..\vc\vcvarsall.bat" x86
cd %curr_dir%
msbuild %curr_dir%\project\temp.vcxproj "Release|Win32"