- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I can't call my fortran dll (made in vs2008 sp1) from my vs2008 c# application. I get an error from Microsoft Visual C++ Debug Library with code R6034, an application has made an attempt to load the C runtime library without using a manifest.
I tried to install visual C++ redistributable package but it did not help..
Anyone?
regards,
-ove svennblad
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I can't call my fortran dll (made in vs2008 sp1) from my vs2008 c# application. I get an error from Microsoft Visual C++ Debug Library with code R6034, an application has made an attempt to load the C runtime library without using a manifest.
I tried to install visual C++ redistributable package but it did not help..
Anyone?
regards,
-ove svennblad
Hi Steve,
Thanks for your answer.
I followed your suggestion, but got into another problem.
Got "LNK2019: unresolved external symbol _Main__ referensed in _main in file libifcoremt.lib"
So, found some hints in another thread and
1. added libifcoremt.lib as a source file to my solution
2. wrote !DEC$ OBJCOMMENT 'lib:libifcoremt.lib' in a source file
3. added path for this lib to Properties/linker/input/additional dependencies
but I still got the same error, LNK2019..
regards,
ove svennblad
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Undo those steps you did. Rebuild the DLL. If you don't mind, attach a ZIP of the DLL to a reply here, as well as the buildlog.htm from doing a "rebuild" on the DLL project. If you can't attach the DLL, download Dependency Walker, run it, drag your DLL onto its window and then do File > Save to save a .dwi file. Attach the .dwi file.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Steve,
All files in my dll are subroutines or functions (most of them are old ones from the 90s and even the80s)
I did undo the steps you recommended, got the LNK2019 message again and no dll was generated, so I could not load the dll into dependency walker.
Included is the htm buildlog file
regards,
-ove
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You may also want to take a look at the warnings - especially the one about MIN0.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Steve,
I finally managed to compile my dll. I played around with compiler settings and changing LinkeradvancedResouce only Dll from Yes to No did the trick. I have not explicitely set an entry point in the option above this one and therefore this "Resource only Dll" flag was set to yes...
Is a DLLEXPORT attribute enough to define an entry point to my dll (don't have to add anything into compiler options)? When is the option Resource Only used?
regards,
-ove
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The /NOENTRY option is required for creating a resource-only DLL.
Use this option to prevent LINK from linking a reference to _main into the DLL.
The DLLEXPORT directive is all you need.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
regards,
-ove
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"A resource-only DLL is a DLL that contains nothing but resources, such as icons, bitmaps, strings, and dialog boxes. Using a resource-only DLL is a good way to share the same set of resources among multiple programs. It is also a good way to provide an application with resources localized for multiple languages"
ie there is no code in a "resource only dll
Les
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"main entry point" here was meant to be "DllMain" (aka DllEntryPoint). Resource-only dlls don't have one (however, they must be loaded using LoadLibraryEx(LOAD_LIBRARY_AS_IMAGE_RESOURCE) ).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The only thing I can think of is if you wanted to treat a DLL as an EXE.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The only thing I can think of is if you wanted to treat a DLL as an EXE.
Since the dll had code within it but was flagged as a resource only dll possibly Visual Studio got confused ?which is not very hard to do :-(
Les

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