Bugs item #1177228, was opened at 2005-04-05 13:13
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1177228&group_id=31650

Category: Tasks
Group: 0.85
Status: Open
Resolution: None
Priority: 5
Submitted By: Aaron Witt (dordon)
Assigned to: Nobody/Anonymous (nobody)
Summary: Solution task fails to read VC++ Force Symbol References

Initial Comment:
Visual C++ projects support a linker property called
'Force Symbol References' which is accessed through the
property pages for the linker.  When this option is
set, VS.NET generates additional /INCLUDE parameters to
the linker (link.exe).  The solution task does not read
this property and thus any VC++ projects that use this
capability will fail to build through nant.

Here is the relevant block of the VC++ project file:

<Tool
    Name="VCLinkerTool"
    IgnoreImportLibrary="TRUE"
    AdditionalOptions="/NOENTRY"
    AdditionalDependencies="ws2_32.lib"
    OutputFile="$(OutDir)/MyLibrary.dll"
    LinkIncremental="2"
    AdditionalLibraryDirectories=""
    ForceSymbolReferences="[EMAIL PROTECTED]"
    GenerateDebugInformation="TRUE"
    AssemblyDebug="1"
    ProgramDatabaseFile="$(OutDir)/MyLibrary.pdb"
    SubSystem="0"
    ImportLibrary="$(OutDir)/MyLibrary.lib"
    TargetMachine="1"/>


I've added support for this in my local version by
editing the file:
/src/Nant.VSNet/VcProject.cs and adding the following
code to the RunLinker() method (at line 1462):

        // Explicit symbol references
        string symbolReferences =
projectConfig.GetToolSetting(linkerTool,
"ForceSymbolReferences");
        if (!StringUtils.IsNullOrEmpty(symbolReferences)) {
                foreach (string symbol in symbolReferences.Split(';')) {
                        linkTask.Arguments.Add(new
Argument(String.Format("/INCLUDE:\{0}\", symbol)));
                }
        }


As reflected in the code above, multiple values in the
field will be separated by a semi-colon delimiter.  The
values should be inserted as part of an /INCLUDE
parameter that should be formatted like so:
/INCLUDE:"[EMAIL PROTECTED]"



----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=402868&aid=1177228&group_id=31650


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
nant-developers mailing list
nant-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to