SmartPtr
本博客已搬至:http://www.cnblogs.com/baiyanhuang/
posts - 29,comments - 176,trackbacks - 0
By SmartPtr(http://www.cppblog.com/SmartPtr/)

  对于C++开发, 我想在Windows下大家用的最多的应该是MS的VC++。但其强大的功能背后却有着“启动速度慢”,“占用资源多”的缺点, 尤其是VS2005, 速度不是一般的慢。 当然,这也十分正常,鱼和熊掌向来是很难兼得。 用这个大家伙开发公司的大项目,用起来自然是得心应手;但对 于一般的小程序,就有点“杀鸡用牛刀”的感觉了。 然而, 无论在工作还是平时自己学习中,写个小程序, 通常只要一个cpp文件就可以的测试程序还是经 常有的事。这样每次打开VS2005就为写一个小小的测试程序,实在是有些“奢侈”了。

  还好以前用过EditPlus配置过汇编的编译环境。想想EditPlus已经支持C++语法显示了, 如果再加上一个编译功能,那就非常适合我的需要了。网上找了点资料, 在EditPlus的“配置用户工具”中这么设置:
菜单文本:Visual C++
命令:"C:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.exe"
参数:"$(FilePath)"
初始目录:$(FileDir)
捕获输出:开启

但是无论怎么调, 就是不见有输出。查了半天最后才发现VC8和VC6不同,要用它得先用%VS80COMNTOOLS%vsvars32.bat这个批处理文件设置环境。也就是每次编译前要先执行这个批处理。

  我的解决方法是另外写一个cl.bat来模拟cl.exe,EditPlus就使用这个批处理命令,而这个命令会先调用%VS80COMNTOOLS%vsvars32.bat设置环境,然后再调用cl.exe去执行编译。如下:
echo off
call "%VS80COMNTOOLS%vsvars32.bat"
if "%1" == "" goto usage
cl.exe "%1"
goto :eof

:usage
echo:
echo Error using cl.bat. The correct usage is:
echo     %0 Filename
echo:
echo For example:
echo     %0 C:\example.cpp
goto :eof
将以上内容保存到一个为cl.bat的文件中,与cl.exe在同一目录下(可以任意,放在这里是为了保持一致性),在EditPlus中设置工具为:
菜单文本:Visual C++
命令:"C:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.bat"
参数:"$(FilePath)"
初始目录:$(FileDir)
捕获输出:开启

  OK,现在试着新建一个C++文件,保存,编译,一切顺利! 如何希望在编译后能够通过EditPlus执行,可再加入一个工具项:
菜单文本:Run
命令:$(FileNameNoExt)
参数:
初始目录:$(FileDir)
现在执行"Run"命令,出现console窗口显示"Hello, World!", 这样, 一个轻型的C++编译环境就配置好了。


posted on 2007-08-26 21:05 SmartPtr 阅读(3946) 评论(10)  编辑 收藏 引用

FeedBack:
# re: 用EditPlus配置VC环境(VC8)
2007-08-28 00:47 | boilerroom
好厉害,我装了editplus这么久,还不知道能这么用呢,顺便问一下,怎么样才能看到直接执行的程序啊,就是 编译+执行  回复  更多评论
  
# re: 用EditPlus配置VC环境(VC8)
2007-08-28 06:00 | SmartPtr
@boilerroom
貌似不行,不知道有没有朋友试过这个。。。  回复  更多评论
  
# re: 用EditPlus配置VC环境(VC8)
2008-05-21 22:33 | dragonii2
我试了,可以用。不过源文件所在的文件夹名字不能带空格。  回复  更多评论
  
# re: 用EditPlus配置VC环境(VC8)
2009-01-07 21:31 | 织诗_恒
如果用的是VS2008话,只要把
call "%VS80COMNTOOLS%vsvars32.bat"
改成
call "%VS90COMNTOOLS%vsvars32.bat"
就可以了。
我在试了下 一切Okay
谢谢作者:)  回复  更多评论
  
# re: 用EditPlus配置VC环境(VC8)
2009-05-09 13:13 |
我用的是2005,编译的时候提示不是内部命令呢。  回复  更多评论
  
# re: 用EditPlus配置VC环境(VC8)
2010-01-21 14:39 | JonsenElizee
@echo off
goto compile

:execute
echo -----------------------------------------------------------------------------------------------
if exist %1.exe (%1.exe) else goto compile
exit


:compile
echo -----------------------------------------------------------------------------------------------
echo COMPILE PROGRAMME %3
echo -----------------------------------------------------------------------------------------------
if not exist "%1.cpp" (echo there is no %1.cpp & exit)
if defined compiled (echo compiled & exit)
set compiled=true
call "%VS71COMNTOOLS%vsvars32.bat"
cl.exe %1.cpp
set error=%ERRORLEVEL%
if %error% equ 0 (goto compileSuccess) else (goto compileError)

:compileSuccess
echo Successfully compiled
goto execute

:compileError
echo -----------------------------------------------------------------------------------------------
echo Compiling error, please check your source
exit

:usage
echo:
echo Error using cl.bat. The correct usage is:
echo %0 Filename
echo:
echo For example:
echo %0 C:\example.cpp
goto :eof  回复  更多评论
  
# re: 用EditPlus配置VC环境(VC8)
2010-01-21 14:39 | JonsenElizee
以上是我针对vs2003的一个bat可以很好的工作  回复  更多评论
  
# re: 用EditPlus配置VC环境(VC8)
2010-01-21 14:43 | JonsenElizee
posted by JonsenElizee
----------------------
吧以上bat文件保存到"C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\compile.and.execute.programme.bat"
注意配置EditPlus的时候要选
命令: "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\compile.and.execute.programme.bat"

参数: $(FileNameNoExt) "$(FileDir)" "$(FilePath)"

初始目录: $(FileDir)

选上捕捉输出  回复  更多评论
  
# re: 用EditPlus配置VC环境(VC8)
2010-03-12 10:51 | xf
我的为什么执行不了?

---------- Compile ----------
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.

输出完成 (耗时: 0 秒) - 正常终止  回复  更多评论
  
# re: 用EditPlus配置VC环境(VC8)
2010-03-12 22:14 | Dbger
@xf
你需要在路径两端加上引号
"C:\Program Files\Microsoft Visual Studio 8\VC\bin\cl.exe"  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理