C++, MVS, OSG, Qt ... ?!


by PLA
Tags: None
PLA
PLA is offline
#1
Nov20-12, 08:31 AM
P: 2
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):

#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:

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!
Phys.Org News Partner Science news on Phys.org
NASA's space station Robonaut finally getting legs
Free the seed: OSSI nurtures growing plants without patent barriers
Going nuts? Turkey looks to pistachios to heat new eco-city
jedishrfu
jedishrfu is offline
#2
Nov20-12, 09:00 AM
P: 2,477
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 thats 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.
PLA
PLA is offline
#3
Nov21-12, 07:17 AM
P: 2
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

jedishrfu
jedishrfu is offline
#4
Nov21-12, 09:08 AM
P: 2,477

C++, MVS, OSG, Qt ... ?!


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


Register to reply