2016-01-15 2 views
0

J'utilise Jamroot/boost-bjam pour construire un python de liaison pour le code C++:Jamroot (boost-bjam) reliant les bibliothèques partagées

alias boost_dependencies 
    : /boost/python//boost_python 
    /boost/thread//boost_thread 
    ; 


# Platform architecture provided as an environment variable 
import os ; 
local ARCH = [ os.environ ARCH ] ; 

# Set up the project-wide requirements that everything uses the 
# boost_python library from the project whose global ID is 
# /boost/python. 
project 
    : requirements <library>boost_dependencies 
       <include>../ 
       <include>../../ 
    : requirements 
       <library-path>../../thirdparty/opencv/lib/ 
       <linkflags>-lm 
       <linkflags>-lpthread 
       <linkflags>-lcrypto 
       <linkflags>-lssl 
    ; 

# Declare the three extension modules. You can specify multiple 
# source files after the colon separated by spaces. 
python-extension test_library : src/Test.cpp 

Je voudrais créer un lien avec les bibliothèques partagées dans le projet de OpenCV (. ./../thirdparty/opencv/lib/) comme libopencv_core.dylib, libopencv_video.dylib etc. sur mac. Comment puis-je spécifier les bibliothèques dans le fichier Jamroot et les installer également?

Répondre

0

je résolu le problème en utilisant l'option lib:

lib opencv_core : : <name>libopencv_core <search>../../thirdparty/opencv/build/$(ARCH)/lib/ ; 
lib opencv_video : : <name>libopencv_video <search>../../thirdparty/opencv/build/$(ARCH)/lib/ ; 
lib opencv_ml : : <name>libopencv_ml <search>../../thirdparty/opencv/build/$(ARCH)/lib/ ; 
lib opencv_imgproc : : <name>libopencv_imgproc <search>../../thirdparty/opencv/build/$(ARCH)/lib/ ; 
lib opencv_objdetect : : <name>libopencv_objdetect <search>../../thirdparty/opencv/build/$(ARCH)/lib/ ; 

# Set up the project-wide requirements that everything uses the 
# boost_python library from the project whose global ID is 
# /boost/python. 
project 
    : requirements <library>boost_dependencies 
       <include>../ 
       <include>../../ 
    : requirements <library>../../Common/build/$(ARCH)/lib/libCommon.a 
       <library>../../Vision/build/$(ARCH)/lib/libVision.a 
       <library-path>../../thirdparty/opencv/build/$(ARCH)/lib/ 
       <library>../../thirdparty/opencv/build/$(ARCH)/lib/python2.7/site-packages/cv2.so 
       <linkflags>-lopencv_core 
       <linkflags>-lopencv_video 
       <linkflags>-lopencv_ml 
       <linkflags>-lopencv_imgproc 
       <linkflags>-lopencv_objdetect 
    ;