libosgViewer.so.202: cannot open shared object file: No such file or directory

43 Views Asked by At

When I am compiling a C++ program with cmake, I keep getting this error. The relevant cmake code is:

CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7)
FIND_PATH(OPENSCENEGRAPH_LIB_DIR libso.so osg.lib
            PATHS
            $ENV{OSG_ROOT}/lib
            /usr/local/lib
)
LINK_DIRECTORIES(${OPENSCENEGRAPH_LIB_DIR})

TARGET_LINK_LIBRARIES(${EXAMPLE_NAME}
    debug osg${CMAKE_DEBUG_POSTFIX} optimized osg
    debug osgUtil${CMAKE_DEBUG_POSTFIX} optimized osgUtil
    debug osgViewer${CMAKE_DEBUG_POSTFIX} optimized osgViewer
    debug osgDB${CMAKE_DEBUG_POSTFIX} optimized osgDB
    debug osgGA${CMAKE_DEBUG_POSTFIX} optimized osgGA
    debug OpenThreads${CMAKE_DEBUG_POSTFIX}
    optimized OpenThreads
)
INSTALL(TARGETS ${EXAMPLE_NAME} RUNTIME DESTINATION
        ${CMAKE_INSTALL_PREFIX}/bin)

But the file libosgViewer.so.202 is present in the directory /usr/local/lib. Then why is binary is giving the error libosgViewer.so.202: cannot open shared object file: No such file or directory.

The CPP Code is:

#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
int main( int argc, char** argv )
{
osgViewer::Viewer viewer;
viewer.setSceneData( osgDB::readNodeFile("cessna.osg") );
return viewer.run();
}

I am fairly to new to both openscenegraph and cmake, so I am not sure how to solve this issue. I am on Ubuntu 20.0.4.

0

There are 0 best solutions below