Silverfrost Forums

Welcome to our forums

Limit on number of files passed to SLINK?

23 Dec 2016 2:37 #18606

I just ran into an issue when linking. I added one additional routine, now SLINK will not build the library. Remove ANY object file from the list, and it works well. I may have exceeded either a number of files limit, or a 'command line' limit.

The error is:

Runtime error from program:c:\program files (x86)\silverfrost\ftn95\slink.exe
Access Violation
The instruction at address 0040c0ed attempted to read from location 6464612f

 0040c089 parseCommandLine(<ptr><ptr>char) [+0064]

 0040cb94 main [+00c3]


eax=6464612f   ebx=00004012   ecx=00000100
edx=00100000   esi=0380b7f0   edi=0380b7f0
ebp=0370f8cc   esp=0370f5a8   IOPL=2
ds=002b   es=002b   fs=0053
gs=002b   cs=0023   ss=002b
flgs=00010246 [NC EP ZR SN DN NV]

 0040c0ed  cmpb     [eax],0x3b 
 0040c0f0  jne      40c102 
 0040c0f6  mov      [ebp-0x2c],0x1 

I am adding about 240 object files to the library.

From my make file, the command line is:

	$(LINKER) /archive:$(LIBRARY_CMASTER) $(addprefix /addobj:,$(CMASTEROBJECTS) $(CFUNCOBJECTS)) /addobj:$(DESTINATION)\KML_CONVERT.obj

For the time being I'll remove the new module and hold off development of that item.

Any help/suggestions on how to work around this would be much appreciated.

Bill

NB: Running V8.05 of FTN95

23 Dec 2016 3:37 #18608

Have you tried building the library with SLIM, instead?

23 Dec 2016 3:54 #18610

No, I haven't tried SLIM.

I just finished an adjustment to the build about 3 minutes ago.

The build will now not generate an enormously long command line to be processed, and now it has no problem building the library and completing the executables.

Perhaps this points the way! Bill

23 Dec 2016 4:01 #18611

From the code for SLINK, it looks like a problem with the command line rather than a limit to the number of files.

I don't have any further information at the moment other than that there may be too many command line arguments.

Is it possible to display the slink command line that the makefile creates?

23 Dec 2016 11:28 #18615

Yes, here is the raw SLINK. About 13K

SLINK -hardfail  /archive:f:\cmasterf95\CHECKMATE\WIN32\C-MASTER.lib /addobj:f:\cmasterf95\CHECKMATE\WIN32\cblock.obj /addobj:f:\cma
sterf95\CHECKMATE\WIN32\CBLOCK_BLOCK_DATA.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CBEDS.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CCATALOG_NEW.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CATALOG_INTEGRITY.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CCATSORT.obj /add
obj:f:\cmasterf95\CHECKMATE\WIN32\CEDITS.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CEXPORT_CSV_NEW.obj /addobj:f:\cmasterf95\CHECKMA
TE\WIN32\CEXTRACT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CIMPORT_F95_NEW.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CIMPORT_CSV.ob
j /addobj:f:\cmasterf95\CHECKMATE\WIN32\cblock_init.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CLITHO.obj /addobj:f:\cmasterf95\CHECK
MATE\WIN32\CLOG.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CLOGPLT_NEWER_NEWER.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CMAIN.obj /a
ddobj:f:\cmasterf95\CHECKMATE\WIN32\CMAINT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\cphrase_new.obj /addobj:f:\cmasterf95\CHECKMATE
\WIN32\CPROJECT_NEW.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CPRTCOD.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CKML.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CQUADBLD.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CSEAMBAT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CSE
AMDAT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CSRCBLD.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CSTARTUP.obj /addobj:f:\cmasterf95
\CHECKMATE\WIN32\CTRACT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\ADDBED.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\ALASKA.obj /addob
j:f:\cmasterf95\CHECKMATE\WIN32\ANSI_STUBS.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\ASGNFL.obj /addobj:f:\cmasterf95\CHECKMATE\WIN3
2\BDLOPR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\BDLOSP.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\BDUPPR.obj /addobj:f:\cmasterf95
\CHECKMATE\WIN32\BDUPSP.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\BEDCOD.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\BEDCODE_SPECIAL.o
bj /addobj:f:\cmasterf95\CHECKMATE\WIN32\BEDCODE_SPECIALNEW.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\BEDLIST_EDITING.obj /addobj:f:
\cmasterf95\CHECKMATE\WIN32\BELL.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\BELLSC.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\BREGPR.o
bj /addobj:f:\cmasterf95\CHECKMATE\WIN32\BSTAT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CATSEARCH_CREATE_FROM_PROJECT.obj /addobj:f
:\cmasterf95\CHECKMATE\WIN32\CEXIT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CGROUP.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CHKBED
.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CIMPORT_PULLDOWN.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CLEAR.obj /addobj:f:\cmasterf9
5\CHECKMATE\WIN32\CLOGPLOT_SUPPORT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CLONE_SUBPROJECT_LOGS.obj /addobj:f:\cmasterf95\CHECKMA
TE\WIN32\CLONE_SUBPROJECT_PARAMETERS.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CLRALL.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CLRS
TK.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CNTYPR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CODENG.obj /addobj:f:\cmasterf95\CHECK
MATE\WIN32\CODINT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\COMPFUNC.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\COMPLITH.obj /addobj:
f:\cmasterf95\CHECKMATE\WIN32\COMPPR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CONVERT_DDMMSS.obj /addobj:f:\cmasterf95\CHECKMATE\WI
N32\CREPRJ.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CURPOS.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\CVTLUC.obj /addobj:f:\cmasterf
95\CHECKMATE\WIN32\CVTMET.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DATEPR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DEFINT.obj /add
obj:f:\cmasterf95\CHECKMATE\WIN32\DEFPRJ.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DEFRCK.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DEPPRJ.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DESCPR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DESCSP.obj /addobj:f:\cmasterf95\C
HECKMATE\WIN32\DISPLAY_SELECT_CATALOG.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DISPLAY_SELECT_PROJECT_LOGS.obj /addobj:f:\cmasterf9
5\CHECKMATE\WIN32\DISPRJ.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DISPRK.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DMPPROJ.obj /add
obj:f:\cmasterf95\CHECKMATE\WIN32\DPRJ.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DRAW_MENU_SCREEN.obj /addobj:f:\cmasterf95\CHECKMAT
E\WIN32\DSPLOG.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DUPLOG.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\DXTRCT.obj /addobj:f:\cmas
terf95\CHECKMATE\WIN32\EDITSC.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\ENGCOD.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\ENTER_EDIT_
LITHO.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\FILCOM.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\FIND_FIELD_ID.obj /addobj:f:\cmaste
rf95\CHECKMATE\WIN32\FINDLG.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\FLUSH_MEMORY_BUFFERS.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32
\FNDREC.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\FNDSUB.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\FOOTAG.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\GET_FILTERED_FILE_CHK.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\GETFIL.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\GET
ID.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\GETLOG.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\GETPRJ.obj /addobj:f:\cmasterf95\CHECK
MATE\WIN32\GSORT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\GTPRJC.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\GUAM.obj /addobj:f:\cmas
terf95\CHECKMATE\WIN32\GUSER_NEW.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\HELPER.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\ICOMP.ob
j /addobj:f:\cmasterf95\CHECKMATE\WIN32\ICVT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\IIRCK.obj /addobj:f:\cmasterf95\CHECKMATE\WIN
32\INVRSP.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\INVSPR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\IURCK.obj /addobj:f:\cmasterf95
\CHECKMATE\WIN32\KCOMP.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\KYGS_NAME.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\LCOMP.obj /addo
bj:f:\cmasterf95\CHECKMATE\WIN32\libharu_license.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\LLCVT.obj /addobj:f:\cmasterf95\CHECKMATE
\WIN32\LOGIDR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\LPHDR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\LPSET.obj /addobj:f:\cmaster
f95\CHECKMATE\WIN32\LSTDEF.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\LSTPRM.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\MINCHR.obj /ad
dobj:f:\cmasterf95\CHECKMATE\WIN32\MINEPR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\MINSIZ.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32
\MODREF.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\MOVE.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\NEW_COPEN_driver.obj /addobj:f:\cma
sterf95\CHECKMATE\WIN32\NEWPAG.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\NHASH.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\OPTION.obj
/addobj:f:\cmasterf95\CHECKMATE\WIN32\ORDER_INTERVALS.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\PGROUP.obj /addobj:f:\cmasterf95\CHE
CKMATE\WIN32\PLANE.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\PLTSEL_NEW.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\polygon_inside.obj
 /addobj:f:\cmasterf95\CHECKMATE\WIN32\PREC.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\PRJFUNCS.obj /addobj:f:\cmasterf95\CHECKMATE\W
IN32\PRJNEW.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\PRJREV.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\PROCES.obj /addobj:f:\cmaster
f95\CHECKMATE\WIN32\PROCHD.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\PROCRK.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\PRTCAT_new.obj
 /addobj:f:\cmasterf95\CHECKMATE\WIN32\PRTHD.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\PTSRCH.obj /addobj:f:\cmasterf95\CHECKMATE\WI
N32\QFSRCH.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\QSTSC_SAVE_REST.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\QUAD_SPECIAL.obj /add
obj:f:\cmasterf95\CHECKMATE\WIN32\QUAD_SPECIAL_REPAIR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\RCKIN_F95.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\READ_BEDCODE_REC.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\read_write_ini_file.obj /addobj:f:\cmasterf95\CHECKMATE\W
IN32\REFERENCE_SPECIAL.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\REFSCR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\REPRT.obj /addobj:
f:\cmasterf95\CHECKMATE\WIN32\RFSRCH.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\RWDAT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\RWLOG
D.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\RWMAST.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\RWPAR.obj /addobj:f:\cmasterf95\CHECKMA
TE\WIN32\RWPHRS.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\RWPROJ.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\RWQUAD.obj /addobj:f:\cma
sterf95\CHECKMATE\WIN32\RWREC.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\RWREC_new.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\RWTEMP.o
bj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SAVHDR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCBRIT.obj /addobj:f:\cmasterf95\CHECKMATE
\WIN32\SCCHEK.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCCINP.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCCLR.obj /addobj:f:\cmaste
rf95\CHECKMATE\WIN32\SCDINP.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCDISP.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCFILE.obj /a
ddobj:f:\cmasterf95\CHECKMATE\WIN32\SCFINP.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCFOUT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN3
2\SCFUNC01.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCFUNC02.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCFUNC03.obj /addobj:f:\cmas
terf95\CHECKMATE\WIN32\SCFUNC04.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCFUNC05.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCFUNC0
6.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCFUNC07.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCFUNC08.obj /addobj:f:\cmasterf95\CH
ECKMATE\WIN32\SCFUNC09.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCFUNC10.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCIINP.obj /addo
bj:f:\cmasterf95\CHECKMATE\WIN32\SCIOUT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCLINP.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\S
CMENU.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCNXT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCREAD.obj /addobj:f:\cmasterf95\CHE
CKMATE\WIN32\SCRIPTING_FUNCTIONS.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCRLIN.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCROPT.o
bj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCSPECIAL.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCSTAT.obj /addobj:f:\cmasterf95\CHECKM
ATE\WIN32\SCWRIT_FUNCTIONS.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCWRIT_new.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCWRIT_WIN
DOWED_NEW.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCWRIT_WINDOWED_OLD.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SCYSNO.obj /addobj
:f:\cmasterf95\CHECKMATE\WIN32\SELECT_USING_HOLEID.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SEND_FILE_TO_LOG.obj /addobj:f:\cmaster
f95\CHECKMATE\WIN32\SEND_FILE_TO_MESSAGE.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SEND_FILE_TO_PRINTER.obj /addobj:f:\cmasterf95\CH
ECKMATE\WIN32\SETNDX.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SHOW_HIDE_STATUS_WINDOW.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SHS
ORT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SPCUNT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SPCVT.obj /addobj:f:\cmasterf95\CHECK
MATE\WIN32\SPLASH_SCREEN.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SPRNEW.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SPRREV.obj /addo
bj:f:\cmasterf95\CHECKMATE\WIN32\SPTAB.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SRCFUNC.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\S
RTNDX.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\STATPR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\STATUS_BAR.obj /addobj:f:\cmasterf9
5\CHECKMATE\WIN32\STATUS_SCREEN.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SUBIN.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\SVLITH.obj
 /addobj:f:\cmasterf95\CHECKMATE\WIN32\TAGIN.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\TARGSP.obj /addobj:f:\cmasterf95\CHECKMATE\WI
N32\TDELAY.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\TextScan.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\TOKEN.obj /addobj:f:\cmaster
f95\CHECKMATE\WIN32\TRACT_MAINTENANCE_SPECIAL.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\TRALAM.obj /addobj:f:\cmasterf95\CHECKMATE\W
IN32\TRAMER.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\TRANSLATE.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\TRANSLATE_FILE_NAMES.obj /
addobj:f:\cmasterf95\CHECKMATE\WIN32\TRCTFL.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\TRCTPR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN
32\TWNPR.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\UPDATE_HOLEID_LISTVIEW.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\UPDPRJ.obj /addo
bj:f:\cmasterf95\CHECKMATE\WIN32\USE_CATSEARCH.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\USE_CATSEARCH_LOGPLOT.obj /addobj:f:\cmaste
rf95\CHECKMATE\WIN32\UTMCVT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\UTMPGM.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\Validate_File
.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\VFNM.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\vmet_convert.obj /addobj:f:\cmasterf95\CHE
CKMATE\WIN32\WRITE_BATCH.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\WRITE_BATCH_NEWER_CLOGPLT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN
32\write_kml.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\write_kml_cextract.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\XCBRIT.obj /addo
bj:f:\cmasterf95\CHECKMATE\WIN32\XCNORM.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\XCSTAT.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\X
NOMAX.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\XSCMAX.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\YESNO.obj /addobj:f:\cmasterf95\CHE
CKMATE\WIN32\YESNOC.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\LOGPLOT\LOGPLOT_COLORS.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\REGIS
TRY_HACK.obj /addobj:f:\cmasterf95\CHECKMATE\WIN32\KML_CONVERT.obj
23 Dec 2016 11:30 #18616

Would it work to have the makefile build up an Slink script file and then call Slink with the name of the script file as the only argument? Something along the lines of ... <TAB>echo $@ >> files.lst ... <TAB>slink files.lst

23 Dec 2016 11:38 #18617

Perhaps that would work.

The easier way was to store all the object files that are on the command line and place them into a special folder when they get compiled. Then, point SLINK to the folder using /addobj:new_folder\*.obj.

Much easier to 'fix' it this way.

24 Dec 2016 7:07 #18618

If you were able to change directory (cd) to f:\cmasterf95\CHECKMATE\WIN32 and run SLINK from there, then you would only need the short file names.

At the moment I am assuming that there is some system limit on the size of a command.

24 Dec 2016 2:45 #18619

I am using a separate folder for the large number of object files that are compiled from one of my source folders, then using a wildcard to /addobj: them in.

So the problem is bypassed, and actually, the MAKEFILE is cleaner now!

Thanks for taking a look. Bill

27 Dec 2016 5:30 #18620

The command line limit for windows 10 is (apparently) 32767 characters. I cannot find a specific MS reference to this. The only number I can find is 8191 (windows 7).

Anyone know what the limit actually is?

Please login to reply.