- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We moved from CVF to IVF and the static library finally build ok with /iface:cvf option and /DNOSPLIT
The final product (C++/CLI/MFC based application)report this issue, after we linked against: ifconsol.lib, libifcoremdd.lib, libmmdd.lib, libirc.lib, svml_disp.lib, ifwin.lib, libifportmd.lib (for debug version)
Error2error LNK2019: unresolved external symbol _for__issue_diagnostic referenced in function __f_settextpositionifconsol.lib
The static libraries sources do not make any calls to settextposition function.
Release version also report the same issue with the multithread DLL libraries.
If I create new project with C++ (SDI type) and link against the same libraries and do the same initializations, this error do not appear. I only included code for initializations in the test project.
Do you have any clue how to avoid this error on the main product?
What could be the cause?
The final product (C++/CLI/MFC based application)report this issue, after we linked against: ifconsol.lib, libifcoremdd.lib, libmmdd.lib, libirc.lib, svml_disp.lib, ifwin.lib, libifportmd.lib (for debug version)
Error2error LNK2019: unresolved external symbol _for__issue_diagnostic referenced in function __f_settextpositionifconsol.lib
The static libraries sources do not make any calls to settextposition function.
Release version also report the same issue with the multithread DLL libraries.
If I create new project with C++ (SDI type) and link against the same libraries and do the same initializations, this error do not appear. I only included code for initializations in the test project.
Do you have any clue how to avoid this error on the main product?
What could be the cause?
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, that explains it. MESSAGEBOXQQ is a QuickWin routine and a restriction of QuickWin is that it requires static linking. You cannot link code that calls QuickWin using DLL libraries. The symbol you are missing is found only in the static library libifcore.lib.
If MESSAGEBOXQQ is the only QuickWin routine being used (FULLPATHQQ is not QuickWin), you could replace it with a call to the Win32 API routine MessageBox. If you can post the source of the routine that calls MESSAGEBOXQQ we can suggest how to rewrite it.
If MESSAGEBOXQQ is the only QuickWin routine being used (FULLPATHQQ is not QuickWin), you could replace it with a call to the Win32 API routine MessageBox. If you can post the source of the routine that calls MESSAGEBOXQQ we can suggest how to rewrite it.
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Does your static library contain QuickWin calls?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
yes, it contains QuickWin calls.
I am not fortran programmer, but I found three files containg "use dflib", for what I understand is what you are asking.
I think I found two calls related to this subject in our static library sources: messageboxqq and fullpathqq
I am not fortran programmer, but I found three files containg "use dflib", for what I understand is what you are asking.
I think I found two calls related to this subject in our static library sources: messageboxqq and fullpathqq
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, that explains it. MESSAGEBOXQQ is a QuickWin routine and a restriction of QuickWin is that it requires static linking. You cannot link code that calls QuickWin using DLL libraries. The symbol you are missing is found only in the static library libifcore.lib.
If MESSAGEBOXQQ is the only QuickWin routine being used (FULLPATHQQ is not QuickWin), you could replace it with a call to the Win32 API routine MessageBox. If you can post the source of the routine that calls MESSAGEBOXQQ we can suggest how to rewrite it.
If MESSAGEBOXQQ is the only QuickWin routine being used (FULLPATHQQ is not QuickWin), you could replace it with a call to the Win32 API routine MessageBox. If you can post the source of the routine that calls MESSAGEBOXQQ we can suggest how to rewrite it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I changed MESSAGEBOXQQ call to MESSAGEBOX, similar to the change in this thread http://software.intel.com/en-us/forums/showthread.php?t=65055
Now, I am able to build successfully for both debug and release versions.
Thank you for your help.
Now, I am able to build successfully for both debug and release versions.
Thank you for your help.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page