Basic description:
OS: win7
SDK: vs 2012
ActiveTcl: 8.5.16.0 (32bit)
tortoiseSVN (repository url) svn://opensees.berkeley.edu/usr/local/svn/OpenSees
1. empty the file Win32, then update to revision: rev 5855, update depth: working copy (make depth sticky: checked)
2. open the solution "OpenSees.sln" in vs 2012
3. all the 27 projects are invalid, then delete and add all the 27 projects by "*.vcproj" to update the project to "*.vcxproj" in vs2012
4. build the 27 project one by one, add the lost lib, include files and some lost source files to the projects to solve most of the errors.
5. Finally, only one type of LNK2019 error could not be solved when build the OpenSees, OpenSeesTK, quickmain
Problem:
libifcore.lib(for_init.obj) : error LNK2019: unresolved external symbol __pxcptinfoptrs referenced in function _GETEXCEPTIONPTRSQQ
The libifcore.lib is loaded via the SVN software.
What I could do to solve the aforementioned problem?
output log:
1>------ Build started: Project: damage, Configuration: Debug Win32 ------
1>Build started 1/29/2015 12:45:57 PM.
1>InitializeBuildStatus:
1> Creating ".\..\..\obj\damage\debug\damage.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1> All outputs are up-to-date.
1>Lib:
1> All outputs are up-to-date.
1> damage.vcxproj -> D:\Research business\Programms\OpenSees\Win32\proj\damage\.\..\..\lib\debug\damage.lib
1>FinalizeBuildStatus:
1> Deleting file ".\..\..\obj\damage\debug\damage.unsuccessfulbuild".
1> Touching ".\..\..\obj\damage\debug\damage.lastbuildstate".
1>
1>Build succeeded.
1>
1>Time Elapsed 00:00:00.60
2>------ Build started: Project: openSees, Configuration: Debug Win32 ------
2>Build started 1/29/2015 12:46:00 PM.
2>InitializeBuildStatus:
2> Touching ".\..\..\obj\openSees\debug\openSees.unsuccessfulbuild".
2>ClCompile:
2> All outputs are up-to-date.
3>------ Build started: Project: openSeesTk, Configuration: Debug Win32 ------
4>------ Build started: Project: optimization, Configuration: Debug Win32 ------
5>------ Build started: Project: quickMain, Configuration: Debug Win32 ------
2>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/FORCE' specification
2>tclAppInit.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:LBR' specification
3>Build started 1/29/2015 12:46:02 PM.
4>Build started 1/29/2015 12:46:02 PM.
5>Build started 1/29/2015 12:46:02 PM.
4>InitializeBuildStatus:
3>InitializeBuildStatus:
3> Touching ".\..\..\obj\openSeesTk\debug\openSeesTk.unsuccessfulbuild".
4> Creating "Debug\optimization.unsuccessfulbuild" because "AlwaysCreate" was specified.
5>InitializeBuildStatus:
5> Touching ".\..\..\obj\quickMain\debug\quickMain.unsuccessfulbuild".
4>ClCompile:
4> All outputs are up-to-date.
3>ClCompile:
3> All outputs are up-to-date.
5>ClCompile:
5> All outputs are up-to-date.
4>Lib:
4> All outputs are up-to-date.
4> optimization.vcxproj -> D:\Research business\Programms\OpenSees\Win32\proj\optimization\.\..\..\lib\debug\optimization.lib
4>FinalizeBuildStatus:
4> Deleting file "Debug\optimization.unsuccessfulbuild".
4> Touching "Debug\optimization.lastbuildstate".
4>
4>Build succeeded.
4>
4>Time Elapsed 00:00:00.66
3>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/FORCE' specification
3>tkMain.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:LBR' specification
5>libifcore.lib(for_init.obj) : error LNK2019: unresolved external symbol __pxcptinfoptrs referenced in function _GETEXCEPTIONPTRSQQ
5>.\..\..\bin/quickMain.exe : fatal error LNK1120: 1 unresolved externals
5>
5>Build FAILED.
5>
5>Time Elapsed 00:00:08.86
3> Creating library .\..\..\bin\openSeesTk.lib and object .\..\..\bin\openSeesTk.exp
2> Creating library .\..\..\bin\openSees.lib and object .\..\..\bin\openSees.exp
3>libifcore.lib(for_init.obj) : error LNK2019: unresolved external symbol __pxcptinfoptrs referenced in function _GETEXCEPTIONPTRSQQ
3>.\..\..\bin/openSeesTk.exe : fatal error LNK1120: 1 unresolved externals
2>libifcore.lib(for_init.obj) : error LNK2019: unresolved external symbol __pxcptinfoptrs referenced in function _GETEXCEPTIONPTRSQQ
2>.\..\..\bin/OpenSees.exe : fatal error LNK1120: 1 unresolved externals
3>
3>Build FAILED.
3>
3>Time Elapsed 00:00:20.99
2>
2>Build FAILED.
2>
2>Time Elapsed 00:00:22.42
========== Build: 2 succeeded, 3 failed, 22 up-to-date, 0 skipped ==========
Error LNK 2019 when building Opensees V 2.4.5
Moderators: silvia, selimgunay, Moderators
-
- Posts: 13
- Joined: Tue Jul 03, 2012 8:54 am
- Location: Roma Tre University
Error LNK 2019 when building Opensees V 2.4.5
Department of structures
Rome Tre University
Rome Tre University
-
- Posts: 13
- Joined: Tue Jul 03, 2012 8:54 am
- Location: Roma Tre University
Re: Error LNK 2019 when building Opensees V 2.4.5
Thanks Dr. Frank McKenna.
I saw this solutions two days ago, and then I tried but failed.
Today I tried this method once and succeed.
This error
libifcore.lib(for_init.obj) : error LNK2019: unresolved external symbol __pxcptinfoptrs referenced in function _GETEXCEPTIONPTRSQQ
is caused by the library file LIBIFCORE.lib and LIBIFCOREMT.lib.
symbol __pxcptinfoptrs referenced in function _GETEXCEPTIONPTRSQQ should exist in LIBIFCOREMT.lib rather than the LIBIFCORE.lib in my programming environment.
Now I summarize my solution once again as follows (based on update the source code via tortoiseSVN):
1. go to the directory: ...\OpenSees\Win32\lib, then you could find two files named as "LIBIFCORE.lib" and "LIBIFCOREMT.lib"
2. delete the file "LIBIFCORE.lib"
3. rename "LIBIFCOREMT.lib" as "LIBIFCORE.lib"
Succeed!
wish my experience could be helpful for you.
I saw this solutions two days ago, and then I tried but failed.
Today I tried this method once and succeed.
This error
libifcore.lib(for_init.obj) : error LNK2019: unresolved external symbol __pxcptinfoptrs referenced in function _GETEXCEPTIONPTRSQQ
is caused by the library file LIBIFCORE.lib and LIBIFCOREMT.lib.
symbol __pxcptinfoptrs referenced in function _GETEXCEPTIONPTRSQQ should exist in LIBIFCOREMT.lib rather than the LIBIFCORE.lib in my programming environment.
Now I summarize my solution once again as follows (based on update the source code via tortoiseSVN):
1. go to the directory: ...\OpenSees\Win32\lib, then you could find two files named as "LIBIFCORE.lib" and "LIBIFCOREMT.lib"
2. delete the file "LIBIFCORE.lib"
3. rename "LIBIFCOREMT.lib" as "LIBIFCORE.lib"
Succeed!
wish my experience could be helpful for you.
Department of structures
Rome Tre University
Rome Tre University
-
- Posts: 13
- Joined: Tue Jul 03, 2012 8:54 am
- Location: Roma Tre University
Re: Error LNK 2019 when building Opensees V 2.4.5
I have a deeper understanding of the library files "LIBIFCORE.lib" and "LIBIFCOREMT.lib".
I guess they are the calculation module for OpenSees and are written in Fortran.
In fact they should be generated by the same codes (IVF, Intel Visual Fortran) with different project setting. "LIBIFCOREMT.lib" is the multithread library.
If the C++ project is set to use multithread libraries, then the Fortran project must also be set for that.
I checked the OpenSees project setting (propertes-->C/C++-->code generation-->Runtime Library) is Multi-threaded Debug (/MTd), thus the LIBIFCOREMT.lib should be called.
To learn more about the Runtime Library options in visual studio, see https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx.
I guess they are the calculation module for OpenSees and are written in Fortran.
In fact they should be generated by the same codes (IVF, Intel Visual Fortran) with different project setting. "LIBIFCOREMT.lib" is the multithread library.
If the C++ project is set to use multithread libraries, then the Fortran project must also be set for that.
I checked the OpenSees project setting (propertes-->C/C++-->code generation-->Runtime Library) is Multi-threaded Debug (/MTd), thus the LIBIFCOREMT.lib should be called.
To learn more about the Runtime Library options in visual studio, see https://msdn.microsoft.com/en-us/library/2kzt1wy3.aspx.
Department of structures
Rome Tre University
Rome Tre University