用命令行编译Windows程序

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

基本设置:

1. 解压vc71.zip到c:/
2. 在vc71目录中建立两个新的.bat文件:

clean.bat --->
SET MSVCDir=c:/vc71
SET VC_TOOL_PATH=%MSVCDir%/bin
SET PATH=%VC_TOOL_PATH%;%PATH%
SET INCLUDE=%MSVCDir%/INCLUDE;%MSVCDir%/win32/Include;%MSVCDir%/INCLUDE/sys;%INCLUDE%
SET LIB=%MSVCDir%/LIB;%MSVCDir%/win32/lib;%LIB%

cd %1
nmake clean


make.bat --->
SET MSVCDir=c:/vc71
SET VC_TOOL_PATH=%MSVCDir%/bin
SET PATH=%VC_TOOL_PATH%;%PATH%
SET INCLUDE=%MSVCDir%/INCLUDE;%MSVCDir%/win32/Include;%MSVCDir%/INCLUDE/sys;%INCLUDE%
SET LIB=%MSVCDir%/LIB;%MSVCDir%/win32/lib;%LIB%

cd %1
nmake

3. 打开UltraEdit
Advanced->Tool Configuration

4. 设置第一个Config
Command line-->选择 c:/vc71/clean.bat %P
working directory--->选择 c:/vc71
menu item name: clean

5. 设置
Output to List Box和Capture Output

6. 点击 insert,这样就创建乐一个新的tool button了

7. 重复4-6,只是把执行文件名改为make.bat,item name改为make


测试:
1 .建立一个新文件夹,在文件夹中创建makefile文件

makefile --->
# This is a MAKEFILE for Microsoft's NMAKE

# extension for object files
O = obj

# commands
CC = cl

# The places to look for include files (in order).
INCL =  -I. -I$(INCLUDE)

# Normal C flags.
CFLAGS = /EHsc -W3 $(INCL) -nologo -c
LFLAGS =

# The location of the demo source directory.
TESTDIR = ./#

all : hunter.exe

hunter.exe : test.$(O) extern_cpp1.$(O)
 link @<<hunter.lnk
$(LFLAGS) test.$(O) extern_cpp1.$(O)
/out:$@
<<NOKEEP

test.$(O) : test.cpp extern_cpp1.h
 $(CC) $(CFLAGS) test.cpp

extern_cpp1.$(O) : extern_cpp1.cpp extern_cpp1.h
 $(CC) $(CFLAGS) extern_cpp1.cpp

clean:
 del hunter.exe *.$(O)


2. 创建三个测试文件:
test.cpp --->
#include "extern_cpp1.h"


int main()
{
 CUser hunter(10040);
 hunter.setNickName("haha");
 CUser xiaojie(hunter.getUserID());
 std::cout << hunter.getUserID() << std::endl;
 return 0;
}

extern_cpp1.h --->
#ifndef CUSER_H
#define CUSER_H

#include <iostream>
#include <string>

using namespace std;

class CUser
{
private:
 CUser(CUser&){};
 operator = (CUser &rhs){};
 
 int m_iUserID;
 string m_sNickName;
public:
 CUser(int iUserID) {
  m_iUserID = iUserID;
  cout << "some one create a new class"<<endl;
 };
 bool   setNickName(const char *psNickName);
 inline int getUserID(){return m_iUserID;};
};

#endif

extern_cpp1.cpp --->
#include "extern_cpp1.h"

bool CUser::setNickName(const char *psNickName)
{
 if (psNickName==NULL)
  return false;
 if (psNickName[0] == 0)
  return false;
 m_sNickName = psNickName;
 return true;
}

3. 用ultraedit打开其中一个文件,然后选择
Advanced->make

在下方的listbox中就可以看到make的结果了


C:/vc71/test>SET MSVCDir=c:/vc71

C:/vc71/test>SET VC_TOOL_PATH=c:/vc71/bin

C:/vc71/test>SET PATH=c:/vc71/bin;C:/PROGRAM FILES/THINKPAD/UTILITIES;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;C:/Program Files/ATI Technologies/ATI Control Panel;C:/Program Files/PC-Doctor for Windows/services;C:/Program Files/UltraEdit

C:/vc71/test>SET INCLUDE=c:/vc71/INCLUDE;c:/vc71/win32/Include;c:/vc71/INCLUDE/sys;

C:/vc71/test>SET LIB=c:/vc71/LIB;c:/vc71/win32/lib;

C:/vc71/test>cd C:/DOCUME~1/ibm/MYDOCU~1/source/xml/test/

C:/vc71/test>nmake

Microsoft (R) Program Maintenance Utility Version 7.10.2215.1
Copyright (C) Microsoft Corporation.  All rights reserved.

 cl /EHsc -W3 -I. -Ic:/vc71/INCLUDE;c:/vc71/win32/Include;c:/vc71/INCLUDE/sys; -nologo -c test.cpp
test.cpp
 cl /EHsc -W3 -I. -Ic:/vc71/INCLUDE;c:/vc71/win32/Include;c:/vc71/INCLUDE/sys; -nologo -c extern_cpp1.cpp
extern_cpp1.cpp
 link @hunter.lnk
Microsoft (R) Incremental Linker Version 7.10.2215.1
Copyright (C) Microsoft Corporation.  All rights reserved.

test.obj extern_cpp1.obj
/out:hunter.exe

windows命令行编译Qt程序 windows命令行窗口编译QT程序 阅读详情

相关推荐

模拟Linux命令行方式在Windows编译C/C++程序(使用VS编译器)

3、打开cmd命令行界面, 输入F:换到F盘, 最终定位到test.c所在文件夹, 使用cl编译编译test.c程序,弹出系统错误。 bin目录下的cl.exe是Microsoft C/C++编译器。 关于打开cmd快捷键的方法:windows+R->弹出运行窗口,输入cmd即可。更简单的方法可以手动添加一个快捷键,从开始菜单 -> 附件 -> 找到“命令提示符”,右键->属性,其中

littledouble的专栏 2970

30天自制操作系统_第二天_使用指令

在编写成机器码前加入指令以取得更简易的编写1.helloos1folder2.helloos2folder3.helloos4folder 1.helloos1folder 使用nasm编译器将.nas后缀文件编译成二进制机器码文件,在.nas文件中可以使用指令,使用了db()声明后续单元的大小,resb(Reserve Byte)预约字节指令,缩小需要编写的行数,只需要22行。 2.helloo...

Flag_died的博客 471

MAKEBOOT.BAT

dos,是磁盘操作系统的缩写,是个人计算机上的一类操作系统。从1981年直到1995年的15年间,磁盘操作系统在IBM PC兼容机市场中占有举足轻重的地位。而且,若是把部分以DOS为基础的Microsoft Windows版本,如Windows 95、Windows 98和Windows Me等都算进去的话,那么其商业寿命至少可以算到2000年。微软的所有后续版本中,磁盘操作系统仍然被保留着。 从1981年MS-DOS1.0直到1995年MS-DOS7.1的15年间,DOS作为微软公司在个人计算机上使用的一个操作系统载体,推出了多个版本。DOS在IBM PC 兼容机市场中占有举足轻重的地位。可以直接操纵管理硬盘的文件,以DOS的形式运行。 是一个更久远的操作系统CP/M的翻版。DOS家族包括MS-DOS、PC-DOS、DR-DOS、Free-DOS、PTS-DOS、ROM-DOS、JM-OS等,其中以MS-DOS最为著名,最自由开放的则是Free-DOS。虽然这些系统常被简称为"DOS",但没有任何一个系统单纯以"DOS"命名(只有一个毫无关连的1960年代IBM大型主机操作系统以此命名)。此外,有几个和DOS无关、在非x86的微计算机系统上运行的磁盘操作系统在名称中也有"DOS"字眼,而且在专门讨论该机器的场合中也会简称为"DOS"(例如:AmigaDOS、AMSDOS、ANDOS、Apple DOS、Atari DOS、Commodore DOS、CSI-DOS、ProDOS、TRS-DOS等),但这些系统和DOS可执行文件以及MS-DOS API并不兼容。 微软图形界面操作系统 Windows NT 问世以来,DOS就是一个后台程序的形式出现的。可以通过点击运行-CMD进入运行。[1]

Windows的cmd运行编译器(cmd运行c/c++、python等)

文中主要讲述了cmd简介,cmd运行编译器gcc/g++执行C/C++程序代码,gcc与g++的区别及其使用注意事项,extern "C",重载函数(函数重载),cmd运行python解释器执行python程序代码。

Python基础详解教程,让编程变得简单! 1万+

Makefile入门

Makefile是一个非常聪明的批处理文件。 创建一个名称为Makefile的文件(不带扩展名),用Editplus编辑器

阿江的故事 669

C++ windows下四种编译器的编译指令以及如何配置

C++ windows下四种编译器的编译指令

平凡 1864

mtk的make过程详细解释

Make.bat实际上只起引导作用,其只有一行批处理语句perl make2.pl %*,于是运行该批处理文件后控制权转给了perl脚本make2.pl。在这个perl脚本中解析了用户输入的命令行参数,设置变量,准备make时需要的临时配置文件,随后根据生成的可运行映像是PC模拟版还是ARM版而分别调用不同的构建过程。  Pc模拟版的构建通过调用如下命令实现。  system("$msdev

qikaibinglan的专栏 1367

Windows命令行编译运行C/C++程序

此处运行环境是在Windos下,运行cmd命令进入DOS界面 首先,如果想在DOS窗口中进行C/C++代码的编译,则需要先配置gcc的环境变量。 1、使用g++进行编译链接 为了可以方便观察,这里我使用一份Helloworld代码(HelloWorld.cpp) #include <iostream> using namespace std; int main(){ cout << "HelloWorld!" << endl; syste..

平凡小智 5万+

Windows中用命令行编译c++Windows程序

cl,Windows SDK,编译链接

zhg2546179328的博客 288

Windows命令行编译C++程序

/* 本文转自http://blog.csdn.net/hulin0229/article/details/22340397

yulinmumu的专栏 659

Windows 10的命令行编译一个本地C++程序

见链接。

m0_62716260的博客 466

Windows命令行编译c/c++程序

原文地址,侵删

qq_43298341的博客 289

Windows系统下用命令行编译C/C++程序过程总结

前一段时间在自学linux系统,想模仿linux命令行的方式在Windows编译C/C++程序, 摸索一段时间后总算把这个解决了! (1)先用记事本编写如下所示的代码,并另存为hello.cpp,假设其保存路径为 C:\Users\Administrator\Desktop。 #include using namespace std; int main() {     cout

caikehe的专栏 9873

Windows下使用命令行编译C++程序

Windows下使用命令行编译C++程序前言环境设置环境变量测试 前言       参照网上教程设置环境变量,经过一顿乱操作,cmd窗口提示各种各样的错误,这就让人很不愉快了。最终,在鄙人的不懈努力下,百度百度再百度,终于编译好了! 环境 Windows 操作系统 Visual Studio 2015 设置环境变量  &nb...

如意娘的博客 678

如何在Windows命令行下进行程序编译和gdb调试

作为软件工程的大学生,博主一开始在Windows下的开发环境就是简单的 dev c++ 而已。然而熟悉了Linux Ubuntu下的命令行编译和gdb调试的环境后,就极少使用dev了。这就有个问题,其实在Windows下可不可以也脱离IDE的编程环境,改为用命令行编译和调试呢?答案肯定是可以的,此处给出一篇简单的小白教程。 1概念介绍 2配置操作 3使用操作 4后期优化 5备注1、概念介绍。1、W

longj's coding workbench 1万+

windows如何在命令行编译C/C++程序

windows如何在命令行编译C/C++程序 方法一是在Visual Studio中打开命令行,输入:cl hello.cpp所在路径\hello.cpp 或者cl /EHsc \hello.cpp 方法一具体为:start->All programs->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio Comm

yiranant的专栏 2923

windows命令行编译QT应用程序

windows命令行编译QT应用程序 1)windows命令行编译QT程序 首先新建一个QT4的应用程序 #include QApplication> #include QPushButton> int main(int argc,char* argv[]) {     QApplication app(argc,argv);     QPushButton *

wjeson的专栏 1428
上一篇: 软件化视频会议系统的技术发展
下一篇: 初学者学习C++的50条忠告
litowen
博客等级 码龄24年 3粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值