在本文中,将分享如何在Windows操作系统上搭建一个用于C++开发的完整环境。这包括设置文本编辑器、编译器和Unix风格的环境。
为了编写本教程,从一个干净的Windows XP Home版安装开始。实际上,使用的是VMware虚拟机。这个教程应该适用于大多数Windows版本。
Notepad++是一个开源文本编辑器,它包含了诸如标签浏览和语法高亮等功能。它也是可定制的,这将允许添加菜单项,以便一键编译和运行程序。可以从下载最新版本。下载的是npp.5.4.3.Installer.exe。设置过程很简单,使用了所有默认设置,所以这里不会详细介绍步骤。可以通过运行应用程序来检查Notepad++是否正常工作,它应该在程序文件菜单中。
这是实际的编译器工具链。使用自动安装程序安装。选择了以下选项:下载并安装当前版本,完全初始化(至少必须安装基础工具、G++和make,但建议安装所有内容)。对于其他所有内容,使用了默认设置。
虽然不是绝对必要,但使用MSYS。这是一个最小的Unix风格SYStem for Windows,它在Windows机器上设置了类似Linux的环境。下载并使用各种库与程序(压缩库、GTK+、MySQL库等),并且make文件经常包含Unix命令。主要的例子是make clean部分,它使用rm而不是del。MinGW将使使用这些变得更容易。转到。
需要将MinGW bin目录和MSYS bin目录添加到路径中。要做到这一点,请转到控制面板 -> 系统 -> 高级选项卡 -> 环境变量按钮。在系统变量部分,找到路径变量并按编辑。在系统上,需要添加;C:\MinGW\bin;C:\msys\1.0\bin到末尾。同时,添加一个名为HOME的用户变量,并将其设置为值C:\msys\1.0\home\<
最后,准备好将第一个程序组合并编译。通过点击蓝色M图标加载MSYS(通常将其放在快速启动中以方便使用)。按照以下步骤操作:
cd /c/
mkdir code
cd /c/code/
mkdir hello_world
"/c/program files/notepad++/notepad++.exe" /c/code/hello_world/main.cpp
粘贴以下代码,然后保存并关闭Notepad++:
#include
int main(int argc, char *argv[]) {
printf("Hello World\n");
return 0;
}
小心复制此代码。<和>可能会变成HTML实体。不要忘记文件末尾的换行符。
"/c/program files/notepad++/notepad++.exe" /c/code/hello_world/makefile
粘贴以下代码,然后保存并关闭Notepad++:
$(warning Starting Makefile)
CXX=g++
main.exe: main.cpp
$(CXX) main.cpp -o main.exe
clean:
-rm main.exe
cd /c/code/hello_world/
make
./main.exe
当程序运行时,应该看到文本Hello World出现。
cd /c/code/hello_world/
make clean
应该看到exe文件已经消失。
可以设置Notepad++快捷方式。首先,使用以下步骤创建两个批处理文件:
"/c/program files/notepad++/notepad++.exe" /c/code/run.bat
粘贴以下代码,然后保存并关闭Notepad++:
:##BATCH to run from notepad++
c:
cd\
cd %1
make
pause
main.exe
pause
"/c/program files/notepad++/notepad++.exe" /c/code/run_clean.bat
粘贴以下代码,然后保存并关闭Notepad++:
:##BATCH to run from notepad++
c:
cd\
cd %1
make clean
pause
加载Notepad++,按F5,输入c:\code\run.bat $(CURRENT_DIRECTORY),将其保存为RUN CODE。再次按F5,输入c:\code\run_clean.bat $(CURRENT_DIRECTORY),将其保存为CLEAN。
现在已经建立了一个工具链。目录c:\code包含程序,可以为新程序创建子目录。每个子目录都需要一个makefile和程序文件。makefile可以根据需要的程序文件进行更改。可以使用Notepad++进行编辑,并使用RUN CODE菜单选项来编译和运行程序。运行代码命令将在当前Notepad++文件所在的目录中运行make。