/DLL (Build a DLL)
The latest version of this topic can be found at -DLL (Build a DLL).
DLL
## Remarks
The /DLL option builds a DLL as the main output file. A DLL usually contains exports that can be used by another program. There are three methods for specifying exports, listed in recommended order of use:
1. [__declspec(dllexport)](../Topic/dllexport,%20dllimport.md) in the source code
2. An [EXPORTS](../Topic/EXPORTS.md) statement in a .def file
3. An [/EXPORT](../Topic/-EXPORT%20\(Exports%20a%20Function\).md) specification in a LINK command
A program can use more than one method.
Another way to build a DLL is with the **LIBRARY** module-definition statement. The /BASE and /DLL options together are equivalent to the **LIBRARY** statement.
Do not specify this option within the development environment; this option is for use only on the command line. This option is set when you create a DLL project with an Application Wizard.
Note that if you create your import library in a preliminary step, before creating your .dll, you must pass the same set of object files when building the .dll, as you passed when building the import library.
### To set this linker option in the Visual Studio development environment
1. Open the project's **Property Pages** dialog box. For details, see [Setting Visual C++ Project Properties](../Topic/Working%20with%20Project%20Properties.md).
2. Click the **Configuration Properties** folder.
3. Click the **General** property page.
4. Modify the **Configuration Type** property.
### To set this linker option programmatically
- See [ConfigurationType](assetId:///P:Microsoft.VisualStudio.VCProjectEngine.VCPropertySheet.ConfigurationType?qualifyHint=False&autoUpgrade=True).
## See Also
[Setting Linker Options](../Topic/Setting%20Linker%20Options.md)
[Linker Options](../Topic/Linker%20Options.md)