从另一台计算机运行opencv可执行文件
Running opencv executable from another computer
我在Ubuntu 12.04中创建了一个opencv-proj。我只想把可执行文件和所需的文件发送到另一台电脑。怎么可能?我应该在可执行文件中包含什么?是否有必要包含opencv库中的文件??在构建opencv库时,我发现我必须具有静态链接。我使用了上面的文件来安装我在文档中找到的opencv:
version="$(wget -q -O - http://sourceforge.net/projects/opencvlibrary/files/opencv-unix | egrep -m1 -o '"[0-9](.[0-9])+' | cut -c2-)"
echo "Installing OpenCV" $version
mkdir OpenCV
cd OpenCV
echo "Removing any pre-installed ffmpeg and x264"
sudo apt-get -qq remove ffmpeg x264 libx264-dev
echo "Installing Dependenices"
sudo apt-get -qq install libopencv-dev build-essential checkinstall cmake pkg-config yasm libtiff4-dev libjpeg-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev python-dev python-numpy libtbb-dev libqt4-dev libgtk2.0-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils ffmpeg
echo "Downloading OpenCV" $version
wget -O OpenCV-$version.tar.gz http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/$version/opencv-"$version".tar.gz/download
echo "Installing OpenCV" $version
tar -xvf OpenCV-$version.tar.gz
cd opencv-$version
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
make -j2
sudo make install
sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
echo "OpenCV" $version "ready to be used"
有必要重新建造opencv吗?如何实现静态链接??
您可以运行:
ldd <your executable name>
要获得您的项目所依赖的所有共享库的列表。
将库复制到目标PC。
在目标电脑上,你需要定义一个env变量:
export LD_LIBRARY_PATH=<location of all the libraries your project depends on>
并且在同一个shell中运行可执行文件。
编辑:
如果您想编译OpenCV静态库,请使用:
cmake-DBUILD_SHARED_LIBS=关闭。。。
https://github.com/Itseez/opencv/blob/master/CMakeLists.txt#L162
希望它能帮助。。。
相关文章:
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 代码在main()中运行,但在函数中出现错误
- 在另一台计算机中运行 GTKMM 代码时未定义的符号
- 在计算机级别,应用程序以二进制方式运行,然后当发生运行时错误时,它如何呈现回错误代码
- 这是否有意义,我的计算机只能并行运行4个线程
- 致命错误LNK1112:通过 vcvarsall .bat x86 运行构建'X86'模块计算机类型'x64'与目标计算机类型冲突
- Visual C 程序不在其他计算机中运行
- 构建计算机上的C++运行时版本与客户计算机
- 从另一台计算机运行opencv可执行文件
- 作为服务运行时连接到远程计算机的 WMI
- 有什么好方法可以指示计算机是否可以运行特定的程序/软件
- 在云计算机〔Azure〕上运行OpenCV代码
- 两台计算机必须有什么共同点才能运行相同的可执行文件
- 如何在另一台计算机(linux)上使用OpenCV运行c++库
- 我的应用程序"Qt"在我的计算机中运行,但在我朋友的计算机上无法运行
- 计算机视觉-在TensorFlow上运行C++inception-v3时出现非法指令错误
- 是否可以在多核计算机的单核上运行多线程应用程序
- 我的程序不能运行与计算机没有VS MSCR100D.dll丢失