- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi everyone,
I have recently converted a Visual Studio 6 C project containing several libraries with one being dependent upon each of the others using the VS8.
MainLib
|
|--------------------------|----------------------------------------|----------------------------|
SubLib1 SubLib2 SubLib3 SubLib4
I intend call up subroutines from the dependent C library from my IVF Fortran project, where I have added the "MainLib" library in the Linker Additional Dependencies and appropriate directory path in Additional Library Directories. Unfortunately when I try to link a get several unresolved external symbols which are all from functions/subroutines within the other (SubLib*) libraries in the C solution. Do I have to add all libraries and paths separately or is there a setting that will get the linker to search all libraries that the dependent C library requires?
If I link to the old VS6 library there is no problemcalling up the MainLib only and all symbols are resolved, which indicates that something is not set correctly in the new C project solution.
The mainreason for moving on the VS8 is to produce a 64 bit version of the library, otherwise I would carry on using the old library project.
Any help would be appreciated.
I have recently converted a Visual Studio 6 C project containing several libraries with one being dependent upon each of the others using the VS8.
MainLib
|
|--------------------------|----------------------------------------|----------------------------|
SubLib1 SubLib2 SubLib3 SubLib4
I intend call up subroutines from the dependent C library from my IVF Fortran project, where I have added the "MainLib" library in the Linker Additional Dependencies and appropriate directory path in Additional Library Directories. Unfortunately when I try to link a get several unresolved external symbols which are all from functions/subroutines within the other (SubLib*) libraries in the C solution. Do I have to add all libraries and paths separately or is there a setting that will get the linker to search all libraries that the dependent C library requires?
If I link to the old VS6 library there is no problemcalling up the MainLib only and all symbols are resolved, which indicates that something is not set correctly in the new C project solution.
The mainreason for moving on the VS8 is to produce a 64 bit version of the library, otherwise I would carry on using the old library project.
Any help would be appreciated.
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It's not completely clear to me what you have done. The linker will look at libraries only if it has been told the names of libraries to search. That can be explicitly in the project settings or from linker directives inserted by the compiler. It sounds to me as if you also need to name Sublib.lib here. You can enable "Show progress messages" in the linker property page and then view the build log to see what the linker is doing and where it is looking.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Quoting - Steve Lionel (Intel)
It's not completely clear to me what you have done. The linker will look at libraries only if it has been told the names of libraries to search. That can be explicitly in the project settings or from linker directives inserted by the compiler. It sounds to me as if you also need to name Sublib.lib here. You can enable "Show progress messages" in the linker property page and then view the build log to see what the linker is doing and where it is looking.
Having just said all that I've found a switch in the Properties/Librarian/General "Link Library Dependecies" that was set to No in the VC8 solution. Changing this to Yes has loaded all dependent objects into the top level library. This was probably a default setting in VC6 and there doesn't seem to be a switch in the IDE.
Thanks for your help nevertheless.

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