Programming C++ with MVS, OSG & Qt: Win XP Linker Error

  • Context: C/C++ 
  • Thread starter Thread starter PLA
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around a linker error encountered while programming in C++ using Visual Studio 2005, Qt 4.4.3, and OpenSG on Windows XP. Participants are exploring the cause of the error and potential solutions related to library linking and file paths.

Discussion Character

  • Technical explanation
  • Debate/contested

Main Points Raised

  • The original poster reports a linker error indicating that the linker cannot open the file 'C:\Program Files\OpenSG\lib.obj'.
  • One participant suggests that the warning about '/Gm' is not the issue and emphasizes that the linker is unable to find the 'lib.obj' file for the OpenSG library.
  • Another participant questions why the linker is searching for a '.obj' file in the library path, expressing confusion about the expected file structure.
  • A later reply notes that a library file (lib) is typically a collection of object files (objs) and suggests that the original poster may not have a complete installation of OpenSG, potentially lacking the necessary object files.
  • There is a reference to the OpenSG documentation for building the library, implying that the original poster may need to build OpenSG to resolve the issue.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the cause of the linker error. There are competing views regarding the expected file structure and whether the original poster has a complete installation of OpenSG.

Contextual Notes

There is uncertainty regarding the installation status of OpenSG and whether the necessary object files are present. The discussion also highlights potential misunderstandings about the file types and paths used by the linker.

PLA
Messages
2
Reaction score
0
Hi everybody!
I'm trying to program in C++ using:
Visual Studio 2005
Qt 4.4.3
OpenSG

My OS is Win XP

Building shows me a linker error i can't solve.

That's the program (a really base one):

Code:
#include <QtGui/QApplication>
#include <OpenSG/OSGConfig.h>
#include <OpenSG/OSGNode.h>
#include <OpenSG/OSGSimpleGeometry.h>
#include <OpenSG/OSGSimpleSceneManager.h>

using namespace std;
using namespace osg;



int main(int argc, char *argv[])
{
osgInit(argc,argv); // Init the OpenSG subsystem
QApplication a(argc, argv);
a.connect(&a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()));

return a.exec();
}

And that's the build log:

Code:
Build Log      Build started: Project: Prova2, Configuration: Debug|Win32
Command Lines      Creating temporary file "c:\Documents and Settings\ghost\My Documents\Visual Studio 2005\Projects\Prova2\Prova2\Debug\RSP00003D28004104.rsp" with contents
[
/Od /I ".\GeneratedFiles\Debug" /I "C:\Program Files\OpenSG\include" /I "C:\Qt\4.4.3\include\QtOpenGL" /I "C:\Qt\4.4.3\include\Qt3Support" /I "C:\Qt\4.4.3\include\QtGui" /I "C:\Qt\4.4.3\include\QtCore" /I "C:\Qt\4.4.3\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "UNICODE" /D "QT_LARGEFILE_SUPPORT" /D "QT_NO_DEBUG" /D "NDEBUG" /D "_UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc80.pdb" /W1 /c /TP ".\main.cpp"
]
Creating command line "cl.exe @"c:\Documents and Settings\ghost\My Documents\Visual Studio 2005\Projects\Prova2\Prova2\Debug\RSP00003D28004104.rsp" /nologo /errorReport:prompt"
Creating temporary file "c:\Documents and Settings\ghost\My Documents\Visual Studio 2005\Projects\Prova2\Prova2\Debug\RSP00003E28004104.rsp" with contents
[
/OUT:"C:\Documents and Settings\ghost\My Documents\Visual Studio 2005\Projects\Prova2\Debug\Prova2.exe" /LIBPATH:"C:\Program Files\OpenSG\lib" /LIBPATH:"C:\Qt\4.4.3\lib" /MANIFEST /MANIFESTFILE:"Debug\Prova2.exe.intermediate.manifest" /DEBUG /PDB:"c:\Documents and Settings\ghost\My Documents\Visual Studio 2005\Projects\Prova2\debug\Prova2.pdb" /SUBSYSTEM:WINDOWS /MACHINE:X86  "C:\Program Files\OpenSG\lib" qtmain.lib QtCore4.lib QtGui4.lib Qt3Support4.lib comdlg32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

".\Debug\main.obj"
]
Creating command line "link.exe @"c:\Documents and Settings\ghost\My Documents\Visual Studio 2005\Projects\Prova2\Prova2\Debug\RSP00003E28004104.rsp" /NOLOGO /ERRORREPORT:PROMPT"
Output Window      Compiling...
cl : Command line warning D9007 : '/Gm' requires '/Zi or /ZI'; option ignored
main.cpp
Linking...
LINK : fatal error LNK1104: cannot open file 'C:\Program Files\OpenSG\lib.obj'
Results      Build log was saved at "file://c:\Documents and Settings\ghost\My Documents\Visual Studio 2005\Projects\Prova2\Prova2\Debug\BuildLog.htm"
Prova2 - 1 error(s), 1 warning(s)

Can anyone suggest me something?

Thank you!
 
Technology news on Phys.org
the warning on /Gm isn't the problem, its just saying if you want to do rebuild of source files you changed then you need to enable saving of symbolic info as well.

The real error is the link error. The linker can't find the lib.obj for the OpenSG library.

Look in the OpenSG directory to see if its there perhaps under directory:

C:\Program Files\OpenSG\lib

ie C:\Program Files\OpenSG\lib\lib.obj

if that's the case then you'll need to see if there's a setting in Visual C++ to change where the compiler/linker looks for Open SG files.
 
There's not that file anywhere... i think MVS is searching for something useless... :/
Why would it search for a .obj in a lib path?!

But maybe i don't know what I'm speaking of...

Am i wrong? :D
 
a lib is a collection of objs so its reasonable to be there.

it may be that you don't have a full install of the Open SG code but only its header files (ie the include files).

when you loaded Open SG on your system did you need to build it?

http://www.opensg.org/wiki/Building
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 16 ·
Replies
16
Views
5K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 7 ·
Replies
7
Views
26K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 49 ·
2
Replies
49
Views
12K
  • · Replies 1 ·
Replies
1
Views
4K