I compiled and run C++ with OpenCV code with static libs successfully. Project is working fine.
my CmakeListed.txt
cmake_minimum_required(VERSION 2.8)
PROJECT(word)
set(OpenCV_DIR "/home/medo/opencv/share" CACHE PATH "docs")
FIND_PACKAGE( OpenCV REQUIRED )
INCLUDE_DIRECTORIES( ${OpenCV_INCLUDE_DIRS} )
ADD_EXECUTABLE(wordx Source.cpp)
TARGET_LINK_LIBRARIES (wordx ${OpenCV_LIBS})
Now I try to run the project on PHP Linux host. It gives me following errors:
"./wordx: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./wordx)"
[1]=>
"./wordx: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./wordx)"
[2]=>
"./wordx: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found
(required by ./wordx)"
[3]=>
"./wordx: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./wordx)"
I searched on Google and found:
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
I add above to project:
cmake_minimum_required(VERSION 2.8)
PROJECT(word)
set(OpenCV_DIR "/home/medo/opencv/share" CACHE PATH "docs")
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
FIND_PACKAGE( OpenCV REQUIRED )
INCLUDE_DIRECTORIES( ${OpenCV_INCLUDE_DIRS} )
ADD_EXECUTABLE(wordx Source.cpp)
TARGET_LINK_LIBRARIES (wordx ${OpenCV_LIBS})
My code size increased but when I run the project, it gives me same error.