Missing external - __beginthreadex

Missing external - __beginthreadex

I have recently installed 6.6Pro and have started playing with one of my old QuickWin projects. I opened the workspace after letting Fortran convert it from the previous format and then tried to rebuild the project.
The link step failed with unsatisfied external as shown below, where I have listed the project library settings.

 
Linking... 
DFQWIN.LIB(qwkentry.obj) : error LNK2001: unresolved external symbol __beginthreadex 
DFQWIN.LIB(qwgwnd.obj) : error LNK2001: unresolved external symbol __beginthreadex 
Release/SPLINEIGS.exe : fatal error LNK1120: 1 unresolved externals 
Error executing link.exe. 
 
SPLINEIGS.exe - 3 error(s), 0 warning(s) 
 
LINK STEP LIBRARIES: 
kernel32.lib DFQWIN.LIB DFQW_MDI.LIB COMDLG32.LIB  
 
IGNORE LIBRARIES: 
DFCONSOL.LIB 

I tried a modification to the link libraries as shown below, but got a different set of unsatisfied externals.

 
Linking... 
dfor.lib(for_m_qqs.obj) : error LNK2001: unresolved external symbol _errno 
dfor.lib(for_m_diskdir.obj) : error LNK2001: unresolved external symbol _errno 
dfor.lib(for_portlib.obj) : error LNK2001: unresolved external symbol _errno 
dfor.lib(for_init.obj) : error LNK2001: unresolved external symbol __pxcptinfoptrs 
Release/SPLINEIGS.exe : fatal error LNK1120: 2 unresolved externals 
Error executing link.exe. 
 
SPLINEIGS.exe - 5 error(s), 0 warning(s) 
 
LINK STEP LIBRARIES: 
kernel32.lib LIBCMT.LIB DFQWIN.LIB DFQW_MDI.LIB COMDLG32.LIB  
 
IGNORE LIBRARIES: 
LIBC.LIB,DFCONSOL.LIB 

Can Anyone advise on a library search/ignore set that should work and
satisfy the externals without duplicating symbols? (I find that using LIBCMT.LIB and LIBC.LIB gives me duplicates of other object files, so the link step still fails)

5 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

You shouldn't have to play with explicitly specifying libraries and ignore-libraries.

How about trying this: create a new QuickWin project, add your sources, and build. What happens? If you still have problems, send a ZIP archive of your workspace to vf-support@compaq.com

Steve

Steve - Intel Developer Support

Thanks for your advice, but I think I found the solution to the problem. I looked at Project..Settings...Fortran tab..Category 'Libraries' and found that 'Single threaded' was selected into the Run-time-libraries box. I changed this to multithreaded and went back to the first library search list that was carried over with the project when it was converted
to be compatible with the latest vrsion of Fortran 6.6 pro.:

 
LINK STEP LIBRARIES:  
kernel32.lib DFQWIN.LIB DFQW_MDI.LIB COMDLG32.LIB   
  
IGNORE LIBRARIES:  
DFCONSOL.LIB  

The executable built ok with no errors.

Regards
Tony Richards

How did it get set that way in the first place? Do you have library subprojects?

Steve

Steve - Intel Developer Support

As I said, I upgraded to 6.6 Pro from 5.0D and opened the old project. The work-space format was recognised as an old one and Visual Studio offered to convert it, which I accepted and the project opened ok. I can only suppose that it was during this stage that the multithread settings were lost.

Leave a Comment

Please sign in to add a comment. Not a member? Join today