Building Projects Not Created in the Development Environment
A project not created in the Visual C++ development environment is considered an “external” project because it originally used methods outside of (or external to) the current Visual C++ development environment to set compiler or linker options, for instance, rather than using the methods available within the development environment. Sometimes a makefile is an external project, as far as Visual C++ is concerned.
In Microsoft Visual C++ there are two types of “external” projects:
-
You can open an existing makefile in the development environment to create an external project. The development environment uses to build the external project, and automatically sets certain internal project options to build the project with NMAKE. You can continue to use external methods to set options, if you choose.
-
You can specify a new project with the Makefile project type, and then specify tools other than NMAKE which the development environment needs to run to build the project, using the Project Settings dialog box.
All external projects use project settings on the General tab of the Project Settings dialog box. If you open an existing makefile, named either explicitly MAKEFILE or filename.MAK, the development environment uses NMAKE as the command-line tool to build the project. If you create an external project by choosing Makefile from the Type list in the New dialog box (Project tab), Visual C++ prompts you to open the Project Settings dialog box and explicitly specify the tool that the development environment must run to build the project.
Once you create an external project, you can add files to it, or you can add it to other projects as a subproject. Adding the source files comprising the external project to the project workspace enables you to view those files in FileView, to open them from FileView, to add them to your source-code control system from the development environment, and so on.
If your external project generates an executable file compatible with the Microsoft debugging format, you can debug it from within the development environment.