- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I'm trying to do a fortran software that uses c code, using MS Visual Studio 2005 and intel fortran 9.1.
(I'm using DEBUG mode)
The problem is that if I use the MSVCRTD, I have the "tradicional" errors like this:
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _free already defined in LIBCMTD.lib(dbgheap.obj)
And when I use the IGNORE specific library: MSVCRTD, I get these type of errors:
output.obj : error LNK2001: unresolved external symbol __imp__longjmp
So, I don't know how to solve this question...
Any ideas????
Thanks!
I'm trying to do a fortran software that uses c code, using MS Visual Studio 2005 and intel fortran 9.1.
(I'm using DEBUG mode)
The problem is that if I use the MSVCRTD, I have the "tradicional" errors like this:
MSVCRTD.lib(MSVCR80D.dll) : error LNK2005: _free already defined in LIBCMTD.lib(dbgheap.obj)
And when I use the IGNORE specific library: MSVCRTD, I get these type of errors:
output.obj : error LNK2001: unresolved external symbol __imp__longjmp
So, I don't know how to solve this question...
Any ideas????
Thanks!
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You must make sure that all sources in your application are using the same set of run-time libraries. You have some C/C++ code that is using one set, and Fortran code using another set. I think C++ defaults to the multithreaded debug DLL libraries whereas Fortran defaults to multithreaded debug static libraries.
In the C++ project, this is set under Code Generation - in Fortran, Libraries. Make these consistent and rebuild.
In 99.9% of cases, use of "ignore library" just makes the problem worse.
In the C++ project, this is set under Code Generation - in Fortran, Libraries. Make these consistent and rebuild.
In 99.9% of cases, use of "ignore library" just makes the problem worse.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
You must make sure that all sources in your application are using the same set of run-time libraries. You have some C/C++ code that is using one set, and Fortran code using another set. I think C++ defaults to the multithreaded debug DLL libraries whereas Fortran defaults to multithreaded debug static libraries.
In the C++ project, this is set under Code Generation - in Fortran, Libraries. Make these consistent and rebuild.
In 99.9% of cases, use of "ignore library" just makes the problem worse.
In the C++ project, this is set under Code Generation - in Fortran, Libraries. Make these consistent and rebuild.
In 99.9% of cases, use of "ignore library" just makes the problem worse.
The visual studio came with the Runtime Library set to /MDd. I changed to /MTd, compiled the c++ code, and there's no more problem...
Thanks for the quick replay!!!

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