Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

.NET C++ linker problem

Status
Not open for further replies.

joneian

Programmer
Oct 4, 2004
2
GB
Hi, having problems getting Visual Studio C++ .NET: in Project settings, the Linker command line options, don't match what i have entered in Input > Additional Dependancies. some of the libraries are missing, some of the paths are cut off.
If I cut down the number of libraries (to less than 35ish) they are all there correctly - but any more and it goes haywire.
Excatly the same project file works fine on another install of .NET on another PC.

It makes no sense... is there a limit to the number of libraries you can include? but then why does it work on my friends pc??

Linker -> Input -> Addintional Dependencies

-----------------------------------------------------------------
$(MARTINI_ROOT)/debug/TradeInterfaced.lib
wsock32.lib
$(SOURCEPRO6_ROOT)/lib/dbt15d.lib
$(SOURCEPRO6_ROOT)/lib/factory15d.lib
$(SOURCEPRO6_ROOT)/lib/functor15d.lib
$(SOURCEPRO6_ROOT)/lib/functor_list15d.lib
$(SOURCEPRO6_ROOT)/lib/functor_map15d.lib
$(SOURCEPRO6_ROOT)/lib/i18n15d.lib
$(SOURCEPRO6_ROOT)/lib/itc15d.lib
$(SOURCEPRO6_ROOT)/lib/pointer15d.lib
$(SOURCEPRO6_ROOT)/lib/serial15d.lib
$(SOURCEPRO6_ROOT)/lib/streams15d.lib
$(SOURCEPRO6_ROOT)/lib/sync15d.lib
$(SOURCEPRO6_ROOT)/lib/thread15d.lib
$(SOURCEPRO6_ROOT)/lib/threxcept15d.lib
$(SOURCEPRO6_ROOT)/lib/tls15d.lib
$(SOURCEPRO6_ROOT)/lib/trace15d.lib
$(SOURCEPRO6_ROOT)/lib/types15d.lib
$(SOURCEPRO6_ROOT)/lib/xmlabstractions15d.lib
$(SOURCEPRO6_ROOT)/lib/xmlstreams15d.lib
"$(MQSERIES_ROOT)/tools/lib/mqic32.lib"
$(MARTINI_ROOT)/debug/AppModeld.lib
$(MARTINI_ROOT)/debug/Commond.lib
$(MARTINI_ROOT)/debug/CreditInterfaced.lib
$(MARTINI_ROOT)/debug/DataClassd.lib
$(MARTINI_ROOT)/debug/DataModeld.lib
$(MARTINI_ROOT)/debug/DBFactoryd.lib
$(MARTINI_ROOT)/debug/martrtt32d.lib
$(MARTINI_ROOT)/debug/FinModeld.lib
$(MARTINI_ROOT)/debug/Moneyd.lib
$(MARTINI_ROOT)/debug/MsgServiced.lib
$(MARTINI_ROOT)/debug/Publisherd.lib
$(MARTINI_ROOT)/debug/RiskModeld.lib
$(MARTINI_ROOT)/debug/RealTimeLibraryd.lib
$(MARTINI_ROOT)/debug/RTTd.lib
$(MARTINI_ROOT)/debug/TradeEntryModeld.lib
$(MARTINI_ROOT)/debug/TradeServerd.lib
$(MARTINI_ROOT)/debug/StandardMsgFiled.lib
$(MARTINI_ROOT)/debug/TradeEntryModelInterfaced.lib
$(MARTINI_ROOT)/debug/zlib114d.lib
c:/src/FrameworkLibrary/debug/FrameworkLibraryd.lib
-------------------------------------------------------------------------

command Line -> All options

----------------------------------------------------------------------
/OUT:"c:\src\DownstreamController\Debug/DownstreamController.exe" /INCREMENTAL /NOLOGO /NODEFAULTLIB:"LIBCD" /NODEFAULTLIB:"LIBCID" /DEBUG /PDB:"c:\src\DownstreamController\Debug/DownstreamController.pdb" /SUBSYSTEM:CONSOLE /MACHINE:X86 w/debug/TradeInterfaced.lib C:\development\Martini_5.1b480\Bin\Windows\toolkit/debug/TradeServerd.lib C:\development\Martini_5.1b480\Bin\Windows\toolkit/debug/StandardMsgFiled.lib C:\development\Martini_5.1b480\Bin\Windows\toolkit/debug/TradeEntryModelInterfaced.lib C:\development\Martini_5.1b480\Bin\Windows\toolkit/debug/zlib114d.lib c:/src/FrameworkLibrary/debug/FrameworkLibraryd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
----------------------------------------------------------------------
 
> Excatly the same project file works fine on another install of .NET on another PC.
Is this
> $(MARTINI_ROOT)
Which expands to C:\development\Martini_5.1b480\Bin\Windows\toolkit on your machine expanding to a shorter path on the other machine?

Are both machines running the same operating system?

--
 
Hi,

$(MARTINI_ROOT) is slightly shorter on the other machine [C:\devlibs\Martini_5.1b480\Bin\Windows\toolkit]

and they are running the same operating system.

I have found that i can include multiple libs by using the wild card *

so I now have:
-------------------------------
wsock32.lib
$(SOURCEPRO6_ROOT)/lib/*.lib
$(MQSERIES_ROOT)/tools/lib/mqic32.lib
$(MARTINI_ROOT)/debug/*.lib
c:/src/FrameworkLibrary/debug/FrameworkLibraryd.lib
-------------------------------

And this seems to behave.

I can't believe that there is a limit to the number of characters, and that when you reach that limit, there isn't a nice message alerting you - it just breaks.

Ian
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top