error compiling 1.7.3 with MSVC6

For developers writing C++, Fortran, Java, code who have questions or comments to make.

Moderators: silvia, selimgunay, Moderators

Post Reply
Rockone
Posts: 5
Joined: Sat Jan 06, 2007 10:08 pm

error compiling 1.7.3 with MSVC6

Post by Rockone » Sat Jan 06, 2007 11:00 pm

When i compile OpenSees with MSVC6,
i find all of these projects use option: "/ML" (Single-Threaded)
More details please refer to below link:
http://msdn2.microsoft.com/en-us/librar ... S.71).aspx
After i change all "/ML" options to
"/MD" (Multithread)
i still get below error messages.
libIEPCF90.lib(2696199.obj) : error LNK2001: unresolved external symbol _errno
libIEPCF90.lib(269697.obj) : error LNK2001: unresolved external symbol _errno
libIEPCF90.lib(2696173.obj) : error LNK2001: unresolved external symbol _errno
libIEPCF90.lib(269697.obj) : error LNK2001: unresolved external symbol ___mb_cur_max
libIEPCF90.lib(269697.obj) : error LNK2001: unresolved external symbol __pctype
compiler: MSVC6 + SP6
OS: WinXP + SP2

can anyone give me some help or tips?

Thank you in advance.

Rockone
Posts: 5
Joined: Sat Jan 06, 2007 10:08 pm

Post by Rockone » Sat Jan 06, 2007 11:13 pm

i think the reason is the link option of libIEPCF90.lib is also "ML", but I don't have the source code.

if i add "/force" to the link option, it will build an exe file.
But i think it maybe cause some unknown problems.

Rockone
Posts: 5
Joined: Sat Jan 06, 2007 10:08 pm

Post by Rockone » Tue Jan 09, 2007 4:38 pm

now i get it!
just change the content of this file to below code, and add to my project
OpenSees/SRC/win32/VC2005errno.cpp

Code: Select all

extern "C" 
{
    int __mb_cur_max;
    unsigned short* _pctype;
    int errno;
}

Post Reply