[1.10]Problem with CMake

Problems building or running the engine, queries about how to use features etc.
Post Reply
madao17
Gnoblar
Posts: 1
Joined: Mon Nov 27, 2017 11:53 am

[1.10]Problem with CMake

Post by madao17 »

Hi
I'm having some problem building 1.10 Tutorials/Bootstrap
The error shows up during Linking CXX executable MyOgreGame.exe

Code: Select all

"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" --build C:\Users\Hank\CLionProjects\MyOgre --target MyOgreGame -- -j 4
[ 33%] Linking CXX executable MyOgreGame.exe
Warning: corrupt .drectve at end of def file
CMakeFiles\MyOgreGame.dir/objects.a(main.cpp.obj):main.cpp:(.text+0x46): undefined reference to `_imp___ZN9OgreBites18ApplicationContext7initAppEv'
CMakeFiles\MyOgreGame.dir/objects.a(main.cpp.obj):main.cpp:(.text+0x50): undefined reference to `_imp___ZN4Ogre4Root14startRenderingEv'
CMakeFiles\MyOgreGame.dir/objects.a(main.cpp.obj):main.cpp:(.text+0x5a): undefined reference to `_imp___ZN9OgreBites18ApplicationContext8closeAppEv'
CMakeFiles\MyOgreGame.dir/objects.a(main.cpp.obj):main.cpp:(.text+0x74): undefined reference to `_imp___ZN9OgreBites18ApplicationContextD2Ev'
CMakeFiles\MyOgreGame.dir/objects.a(main.cpp.obj):main.cpp:(.text+0x9a): undefined reference to `_imp___ZN9OgreBites18ApplicationContextD2Ev'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x5c): undefined reference to `_imp___ZN4Ogre4Root17queueEndRenderingEb'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x9f): undefined reference to `_imp___ZN4Ogre4Root17queueEndRenderingEb'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x10d): undefined reference to `_imp___ZN9OgreBites18ApplicationContextC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x16d): undefined reference to `_imp___ZN9OgreBites18ApplicationContext5setupEv'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x194): undefined reference to `_imp___ZN9OgreBites18ApplicationContext16addInputListenerEP10SDL_WindowPNS_13InputListenerE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x199): undefined reference to `_imp___ZN4Ogre26DefaultSceneManagerFactory17FACTORY_TYPE_NAMEB5cxx11E'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x1b0): undefined reference to `_imp___ZN4Ogre4Root18createSceneManagerERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x1ba): undefined reference to `Ogre::RTShader::ShaderGenerator::getSingletonPtr()'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x1c4): undefined reference to `Ogre::RTShader::ShaderGenerator::addSceneManager(Ogre::SceneManager*)'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x216): undefined reference to `_imp___ZN4Ogre12SceneManager16getRootSceneNodeEv'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x223): undefined reference to `_imp___ZN4Ogre10Quaternion8IDENTITYE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x231): undefined reference to `_imp___ZN4Ogre7Vector34ZEROE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x248): undefined reference to `_imp___ZN4Ogre4Node11setPositionEfff'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x287): undefined reference to `_imp___ZN4Ogre10Quaternion8IDENTITYE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x293): undefined reference to `_imp___ZN4Ogre7Vector34ZEROE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x2c4): undefined reference to `_imp___ZN4Ogre7Vector315NEGATIVE_UNIT_ZE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x2ec): undefined reference to `_imp___ZN4Ogre9SceneNode6lookAtERKNS_7Vector3ENS_4Node14TransformSpaceES3_'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x33d): undefined reference to `_imp___ZN4Ogre7Frustum19setNearClipDistanceEf'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x34f): undefined reference to `_imp___ZN4Ogre6Camera18setAutoAspectRatioEb'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x3cd): undefined reference to `_imp___ZN4Ogre12SceneManager12createEntityERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x3f1): undefined reference to `_imp___ZN4Ogre10Quaternion8IDENTITYE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x3ff): undefined reference to `_imp___ZN4Ogre7Vector34ZEROE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x47e): undefined reference to `_imp___ZN4Ogre9ExceptionC2EiRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_PKcSA_l'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text+0x483): undefined reference to `_imp___ZTVN4Ogre25RuntimeAssertionExceptionE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZN4Ogre9ExceptionD1Ev[__ZN4Ogre9ExceptionD1Ev]+0xa): undefined reference to `_imp___ZTVN4Ogre9ExceptionE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZN9MyTestAppD1Ev[__ZN9MyTestAppD1Ev]+0xf): undefined reference to `_imp___ZN9OgreBites18ApplicationContextD2Ev'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZN9MyTestAppD0Ev[__ZN9MyTestAppD0Ev]+0x15): undefined reference to `_imp___ZN9OgreBites18ApplicationContextD2Ev'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZN9OgreBites18ApplicationContext12frameStartedERKN4Ogre10FrameEventE[__ZN9OgreBites18ApplicationContext12frameStartedERKN4Ogre10FrameEventE]+0x5): undefined reference to `_imp___ZN9OgreBites18ApplicationContext10pollEventsEv'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZThn176_N9MyTestAppD1Ev[__ZThn176_N9MyTestAppD1Ev]+0x1c): undefined reference to `_imp___ZN9OgreBites18ApplicationContextD2Ev'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZThn4_N9MyTestAppD1Ev[__ZThn4_N9MyTestAppD1Ev]+0x12): undefined reference to `_imp___ZN9OgreBites18ApplicationContextD2Ev'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZThn4_N9MyTestAppD0Ev[__ZThn4_N9MyTestAppD0Ev]+0x18): undefined reference to `_imp___ZN9OgreBites18ApplicationContextD2Ev'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZThn176_N9MyTestAppD0Ev[__ZThn176_N9MyTestAppD0Ev]+0x22): undefined reference to `_imp___ZN9OgreBites18ApplicationContextD2Ev'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZN4Ogre20InvalidCallExceptionD1Ev[__ZN4Ogre20InvalidCallExceptionD1Ev]+0xa): undefined reference to `_imp___ZTVN4Ogre9ExceptionE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZN4Ogre25RuntimeAssertionExceptionD1Ev[__ZN4Ogre25RuntimeAssertionExceptionD1Ev]+0xa): undefined reference to `_imp___ZTVN4Ogre9ExceptionE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZN4Ogre21RenderingAPIExceptionD1Ev[__ZN4Ogre21RenderingAPIExceptionD1Ev]+0xa): undefined reference to `_imp___ZTVN4Ogre9ExceptionE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZN4Ogre22InternalErrorExceptionD1Ev[__ZN4Ogre22InternalErrorExceptionD1Ev]+0xa): undefined reference to `_imp___ZTVN4Ogre9ExceptionE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZN4Ogre21ItemIdentityExceptionD1Ev[__ZN4Ogre21ItemIdentityExceptionD1Ev]+0xa): undefined reference to `_imp___ZTVN4Ogre9ExceptionE'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.text$_ZN4Ogre26InvalidParametersExceptionD1Ev[__ZN4Ogre26InvalidParametersExceptionD1Ev]+0xa): more undefined references to `_imp___ZTVN4Ogre9ExceptionE' follow
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.rdata$_ZTVN4Ogre25RuntimeAssertionExceptionE[__ZTVN4Ogre25RuntimeAssertionExceptionE]+0x14): undefined reference to `Ogre::Exception::getFullDescription[abi:cxx11]() const'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.rdata$_ZTVN4Ogre25RuntimeAssertionExceptionE[__ZTVN4Ogre25RuntimeAssertionExceptionE]+0x18): undefined reference to `Ogre::Exception::getNumber() const'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.rdata$_ZTV9MyTestApp[__ZTV9MyTestApp]+0xc): undefined reference to `OgreBites::ApplicationContext::frameRenderingQueued(Ogre::FrameEvent const&)'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.rdata$_ZTV9MyTestApp[__ZTV9MyTestApp]+0x34): undefined reference to `OgreBites::ApplicationContext::createRoot()'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.rdata$_ZTV9MyTestApp[__ZTV9MyTestApp]+0x38): undefined reference to `OgreBites::ApplicationContext::oneTimeConfig()'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.rdata$_ZTV9MyTestApp[__ZTV9MyTestApp]+0x3c): undefined reference to `OgreBites::ApplicationContext::setupInput(bool)'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.rdata$_ZTV9MyTestApp[__ZTV9MyTestApp]+0x40): undefined reference to `OgreBites::ApplicationContext::locateResources()'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.rdata$_ZTV9MyTestApp[__ZTV9MyTestApp]+0x44): undefined reference to `OgreBites::ApplicationContext::loadResources()'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.rdata$_ZTV9MyTestApp[__ZTV9MyTestApp]+0x48): undefined reference to `OgreBites::ApplicationContext::reconfigure(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&)'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.rdata$_ZTV9MyTestApp[__ZTV9MyTestApp]+0x4c): undefined reference to `OgreBites::ApplicationContext::shutdown()'
CMakeFiles\MyOgreGame.dir/objects.a(MyTestApp.cpp.obj):MyTestApp.cpp:(.rdata$_ZTV9MyTestApp[__ZTV9MyTestApp]+0x50): undefined reference to `OgreBites::ApplicationContext::createWindow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, unsigned int, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >)'
collect2.exe: error: ld returned 1 exit status
mingw32-make.exe[3]: *** [CMakeFiles\MyOgreGame.dir\build.make:126: MyOgreGame.exe] Error 1
mingw32-make.exe[2]: *** [CMakeFiles\Makefile2:67: CMakeFiles/MyOgreGame.dir/all] Error 2
mingw32-make.exe[1]: *** [CMakeFiles\Makefile2:79: CMakeFiles/MyOgreGame.dir/rule] Error 2
mingw32-make.exe: *** [Makefile:117: MyOgreGame] Error 2
This is my cmake:
(My OGRE_HOME is C:\ogre-1.10.9-build\sdk)

Code: Select all

cmake_minimum_required(VERSION 3.8)

project(MyOgre)

set(OGRE_DIR "C:/ogre-1.10.9-build/sdk/CMake")
find_package(OGRE 1.10 REQUIRED)

# the search paths
include_directories(${OGRE_INCLUDE_DIRS})
link_directories(${OGRE_LIBRARY_DIRS})

# copy essential config files next to our binary where OGRE autodiscovers them
file(COPY ${OGRE_CONFIG_DIR}/plugins.cfg ${OGRE_CONFIG_DIR}/resources.cfg
        DESTINATION ${CMAKE_BINARY_DIR})

set(SOURCE_FILES main.cpp
        src/MyTestApp.cpp src/MyTestApp.h)

add_executable(MyOgreGame ${SOURCE_FILES})

target_link_libraries(MyOgreGame ${OGRE_LIBRARIES})
CMake output:

Code: Select all

"C:\Program Files\JetBrains\CLion 2017.2.3\bin\cmake\bin\cmake.exe" -DCMAKE_BUILD_TYPE=Release -G "CodeBlocks - MinGW Makefiles" C:\Users\Hank\CLionProjects\MyOgre
-- Found OGRE
--   static     : OFF
--   components : Bites;HLMS;MeshLodGenerator;Overlay;Paging;Property;RTShaderSystem;Terrain;Volume
--   plugins    : Plugin_BSPSceneManager;Plugin_CgProgramManager;Plugin_OctreeSceneManager;Plugin_PCZSceneManager;Plugin_ParticleFX;RenderSystem_GL;RenderSystem_GL3Plus;RenderSystem_Direct3D11
--   media      : C:/ogre-1.10.9-build/sdk/Media
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Hank/CLionProjects/MyOgre

[Finished]
System Details:
OS: Windows 10
CMake Version: 3.8.2 (Clion bundle)
OGRE Version: 1.10.9
IDE/Compiler: CLion / MinGW (w64 5.0 32bit)

I'm pretty sure I put everything in the right place but I just can't figure out why it is not building correctly :(
Any help will be greatly appreciated
Post Reply