简体   繁体   中英

VC++ project type

I'm developing a tool using native c++ and boost (on VC++2008) which takes a .vcproj file and generates an equivalant makefile. I can't seem to find the type of the VS project build output in the .vcproj file (or in the other files for that matter).

I'm refering to the

Project Properties > Config Properties > General > Project Defaults > Configuration type

Where does VS2008 store this config for VC++ projects? What I need is to determine if the project is an executable or a library...

Thanks a lot in advance for your help :)

If you are reading the vcproj file as an XML document then you should see an element that looks something like this ...

    <Configuration
        Name="Debug|Win32"
        OutputDirectory="$(SolutionDir)$(ConfigurationName)"
        IntermediateDirectory="$(ConfigurationName)"
        ConfigurationType="1"
        CharacterSet="1"
        >

The ConfigurationType attribute is what you are looking for I think. Note that there is a separate Cpnfiguration element for each Configuration name (Debug, Release, etc.) and each Platform (Win32, x64, IA64, etc.) in your project.

The problem with reading and writing raw XML is that definitions can change over time. Not very likely with a released product like Visual Studio 2008. Perhaps not even likely in a future Visual Studio release, but not impossible.

You might be better using the VCConfiguration object to manipulate the ConfigurationType property to achieve your ends.

I think it's the

VisualStudioProject/Configurations/Configuration/ConfigurationType

attribute in the vcproj. It looks like "1" for a .dll and "4" for a .exe

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM