Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

C++, MVS, OSG, Qt ?

  1. Nov 20, 2012 #1

    PLA

    User Avatar

    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 (Text):

    #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 (Text):

    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!
     
  2. jcsd
  3. Nov 20, 2012 #2

    jedishrfu

    Staff: Mentor

    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.
     
  4. Nov 21, 2012 #3

    PLA

    User Avatar

    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
     
  5. Nov 21, 2012 #4

    jedishrfu

    Staff: Mentor

    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
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook