zoukankan      html  css  js  c++  java
  • linux下编译visp库

    #下载源码
    git clone "https://github.com/lagadic/visp.git"
    #work目录
    mkdir work
    #build目录
    mkdir build
    #cmake配置
    cd work

    ccmake ../visp    # 关闭动态库,设置为debug模式, output目录为上面的build目录
    cmake ../visp
    cd ../visp
    make -j

    #写了一个简单的test.so, 用于python上测试
    g++ -o test.o -c test.cpp -I"/data/ahfuzhang/visp/build/include" -std=c++11 -fPIC
    #链接
    g++ -shared -o libtest.so test.o /data/ahfuzhang/visp/build/lib64/*.a
    python中执行报错:
    Cannot find reference 'xxx'  in libtest.so

    #执行ldd检查链接情况:
    ldd -r libtest.so

    ldd -r libtest1.so 
            linux-vdso.so.1 =>  (0x00007ffe5e1f7000)
            /$LIB/libonion.so => /lib64/libonion.so (0x00007fae7bf1a000)
            libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fae7b846000)
            libm.so.6 => /lib64/libm.so.6 (0x00007fae7b544000)
            libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fae7b32e000)
            libc.so.6 => /lib64/libc.so.6 (0x00007fae7af6c000)
            libdl.so.2 => /lib64/libdl.so.2 (0x00007fae7ad68000)
            /lib64/ld-linux-x86-64.so.2 (0x00007fae7be03000)
    undefined symbol: _ZN9vpDisplay20setDownScalingFactorEj (./libtest1.so)
    undefined symbol: _ZN9vpDisplay20setDownScalingFactorENS_11vpScaleTypeE (./libtest1.so)
    undefined symbol: _ZTI9vpDisplay        (./libtest1.so)
    undefined symbol: _ZTVN2cv11_InputArrayE        (./libtest1.so)
    undefined symbol: _ZTVN2cv12_OutputArrayE       (./libtest1.so)
    undefined symbol: XDrawString   (./libtest1.so)
    undefined symbol: XLoadFont     (./libtest1.so)
    undefined symbol: _ZN2cv3Mat10deallocateEv      (./libtest1.so)
    undefined symbol: XMoveWindow   (./libtest1.so)
    undefined symbol: _ZN16vpRotationMatrixC1ERK14vpThetaUVector    (./libtest1.so)
    undefined symbol: _ZN19vpHomogeneousMatrix6insertERK19vpTranslationVector       (./libtest1.so)
    undefined symbol: cvPutText     (./libtest1.so)
    undefined symbol: XClearWindow  (./libtest1.so)
    undefined symbol: cvRectangle   (./libtest1.so)
    undefined symbol: cvGetTextSize (./libtest1.so)
    undefined symbol: XStoreName    (./libtest1.so)
    undefined symbol: XLookupString (./libtest1.so)
    undefined symbol: _ZN13vpImageFilter15getGradXGauss2DERK7vpImageIhERS0_IdEPKdS7_j       (./libtest1.so)
    undefined symbol: XCreateImage  (./libtest1.so)
    undefined symbol: _ZNK18vpCameraParameters13get_K_inverseEv     (./libtest1.so)
    undefined symbol: _ZN2cv8Subdiv2D6insertENS_6Point_IfEE (./libtest1.so)
    undefined symbol: _ZN7vpPlaneaSERKS_    (./libtest1.so)
    undefined symbol: XSetFont      (./libtest1.so)
    undefined symbol: _ZN13vpImageFilter6filterERK7vpImageIhERS0_IdEPKdj    (./libtest1.so)
    undefined symbol: _ZN6vpTime4waitEd     (./libtest1.so)
    undefined symbol: _ZN9vpDisplayD2Ev     (./libtest1.so)
    undefined symbol: cvCircle      (./libtest1.so)
    undefined symbol: cvSetMouseCallback    (./libtest1.so)
    undefined symbol: XCreateSimpleWindow   (./libtest1.so)
    undefined symbol: XCreateColormap       (./libtest1.so)
    undefined symbol: dgesdd_       (./libtest1.so)
    undefined symbol: XOpenDisplay  (./libtest1.so)
    undefined symbol: _ZNK2cv3Mat3invEi     (./libtest1.so)
    undefined symbol: XDrawPoint    (./libtest1.so)
    undefined symbol: XImageByteOrder       (./libtest1.so)
    undefined symbol: XCopyArea     (./libtest1.so)
    undefined symbol: XDrawLine     (./libtest1.so)
    undefined symbol: XDestroyWindow        (./libtest1.so)
    undefined symbol: cvReleaseImage        (./libtest1.so)
    undefined symbol: XCloseDisplay (./libtest1.so)
    undefined symbol: XFillArc      (./libtest1.so)
    undefined symbol: _ZN2cv13projectPointsERKNS_11_InputArrayES2_S2_S2_S2_RKNS_12_OutputArrayES5_d (./libtest1.so)
    undefined symbol: XSetForeground        (./libtest1.so)
    undefined symbol: XFillRectangle        (./libtest1.so)
    undefined symbol: _ZN13vpImageFilter17getGaussianKernelEPdjdb   (./libtest1.so)
    undefined symbol: _ZN8vpRobustC1Ej      (./libtest1.so)
    undefined symbol: XFreeGC       (./libtest1.so)
    undefined symbol: _ZN7vpPlaneC1Ev       (./libtest1.so)
    undefined symbol: cvNamedWindow (./libtest1.so)
    undefined symbol: XDisplayName  (./libtest1.so)
    undefined symbol: XDrawRectangle        (./libtest1.so)
    undefined symbol: _ZN19vpHomogeneousMatrix9buildFromEdddddd     (./libtest1.so)
    undefined symbol: XBitmapPad    (./libtest1.so)
    undefined symbol: XSetLineAttributes    (./libtest1.so)
    undefined symbol: XClearArea    (./libtest1.so)
    undefined symbol: _ZNK2cv8Subdiv2D15getTriangleListERSt6vectorINS_3VecIfLi6EEESaIS3_EE  (./libtest1.so)
    undefined symbol: _ZN13vpImageFilter27getGaussianDerivativeKernelEPdjdb (./libtest1.so)
    undefined symbol: cvMoveWindow  (./libtest1.so)
    undefined symbol: XCheckMaskEvent       (./libtest1.so)
    undefined symbol: dgetrf_       (./libtest1.so)
    undefined symbol: XMapWindow    (./libtest1.so)
    undefined symbol: cvDestroyWindow       (./libtest1.so)
    undefined symbol: cvLine        (./libtest1.so)
    undefined symbol: _ZN2cv3Mat8copySizeERKS0_     (./libtest1.so)
    undefined symbol: cvCreateImage (./libtest1.so)
    undefined symbol: _ZN2cv11determinantERKNS_11_InputArrayE       (./libtest1.so)
    undefined symbol: cvWaitKey     (./libtest1.so)
    undefined symbol: XSetWindowBackground  (./libtest1.so)
    undefined symbol: XCreateGC     (./libtest1.so)
    undefined symbol: XSelectInput  (./libtest1.so)
    undefined symbol: _ZNK7vpPlane9getNormalER11vpColVector (./libtest1.so)
    undefined symbol: XFlush        (./libtest1.so)
    undefined symbol: _ZN2cv3Mat3eyeEiii    (./libtest1.so)
    undefined symbol: _ZN13vpImageFilter17getGaussPyramidalERK7vpImageIhERS1_       (./libtest1.so)
    undefined symbol: XSync (./libtest1.so)
    undefined symbol: XMaskEvent    (./libtest1.so)
    undefined symbol: _ZN2cv8Subdiv2DC1ENS_5Rect_IiEE       (./libtest1.so)
    undefined symbol: _ZN2cv3SVDclERKNS_11_InputArrayEi     (./libtest1.so)
    undefined symbol: XPutImage     (./libtest1.so)
    undefined symbol: _ZN2cv11_InputArrayC1ERKNS_7MatExprE  (./libtest1.so)
    undefined symbol: _ZN8vpRobust10MEstimatorENS_21vpRobustEstimatorTypeERK11vpColVectorRS1_       (./libtest1.so)
    undefined symbol: _ZN2cv11_InputArrayC1ERKNS_3MatE      (./libtest1.so)
    undefined symbol: _ZN19vpHomogeneousMatrix6insertERK16vpRotationMatrix  (./libtest1.so)
    undefined symbol: cvShowImage   (./libtest1.so)
    undefined symbol: XInstallColormap      (./libtest1.so)
    undefined symbol: _ZN2cv7noArrayEv      (./libtest1.so)
    undefined symbol: XGetImage     (./libtest1.so)
    undefined symbol: XDrawArc      (./libtest1.so)
    undefined symbol: XSetWindowBackgroundPixmap    (./libtest1.so)
    undefined symbol: XAllocColor   (./libtest1.so)
    undefined symbol: XQueryPointer (./libtest1.so)
    undefined symbol: _ZN9vpDisplayC2Ev     (./libtest1.so)
    undefined symbol: XSetStandardProperties        (./libtest1.so)
    undefined symbol: _ZN19vpHomogeneousMatrixC1Ev  (./libtest1.so)
    undefined symbol: XFreePixmap   (./libtest1.so)
    undefined symbol: _ZN13vpImageFilter15getGradYGauss2DERK7vpImageIhERS0_IdEPKdS7_j       (./libtest1.so)
    undefined symbol: _ZN19vpHomogeneousMatrixaSERKS_       (./libtest1.so)
    undefined symbol: cvInitFont    (./libtest1.so)
    undefined symbol: _ZN2cv8fastFreeEPv    (./libtest1.so)
    undefined symbol: XCreatePixmap (./libtest1.so)
    undefined symbol: _ZN2cv3Mat5zerosEiii  (./libtest1.so)
    undefined symbol: XStoreColor   (./libtest1.so)
    undefined symbol: _ZN14vpImageConvert7convertEPK9_IplImageR7vpImageI6vpRGBaEb   (./libtest1.so)
    undefined symbol: _ZN6vpRGBaaSERKS_     (./libtest1.so)
    undefined symbol: XSetWindowColormap    (./libtest1.so)
    undefined symbol: _ZNK18vpCameraParameters5get_KEv      (./libtest1.so)
    undefined symbol: dgetri_       (./libtest1.so)
    undefined symbol: _ZN9vpDisplay8setScaleENS_11vpScaleTypeEjj    (./libtest1.so)
    

     

    #最后逐个搜索库,然后用下面的参数解决:
    g++ -shared -o libtest.so test.o -L"/data/ahfuzhang/visp/build/lib64" /data/ahfuzhang/visp/build/lib64/*.a -lstdc++ -lX11 -lopencv_core -lopencv_imgproc -lopencv_highgui -lvisp_core -lvisp_gui -lopencv_calib3d -L/usr/lib64/ "/usr/lib64/liblapack.so.3.4.2" 



  • 相关阅读:
    详解Winform多线程编程基本原理
    asp.net 文件夹和文件的创建、删除
    sql server 查询表名,存储过程,列名等
    随机输出数组中的一个数
    C# 获取Access数据库中所有表名及其列名、列类型
    Oracle 数据库小记
    Oracle11g、PLSQL、Winfrom环境搭建
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    Android开发中用到的框架、库介绍
    Android数据存储
  • 原文地址:https://www.cnblogs.com/ahfuzhang/p/10152440.html
Copyright © 2011-2022 走看看