2013-08-14 14 views
8

多分私は何かが欠けているかもしれませんが、私はopencvの静的ライブラリを構築できません。OpenCVを静的ライブラリとして構築する

セットアップ:

のKubuntu 12.04

のgcc 4.6.3

は、(サイト上で利用できる最後の)3.81

cmakeの2.8.7

OpenCVの2.4.6.1

作ります

私はすべての仕事を手動で行います。私はcmake-guiと一緒にやってみた。

私はそれを書いています。

$ cmakeの-D CMAKE_BUILD_TYPE = RELEASE -D CMAKE_INSTALL_PREFIX =は/ usr/local -D BUILD_PYTHON_SUPPORT = -D WITH_QT ON = -D BUILD_SHARED_LIBRARIES ON = OFF ..

(IもBUILD_SHARED_LIBRARIES = NOと試み)

私は(例えばコア用)で何を得る:

  • libopencv_core.so libopencv_core.so.2.4
  • libopencv_真実を言って

libopencv_core_pch_dephelp.a core.so.2.4.6

  • 、私は libopencv_core.a を期待しました。

    私はLinux上にパッケージ/ libsを構築している初心者です。私は間違ったことがあると確信していますが、私は何がわかりません。また、私は動的ライブラリを使用したくないです...

    おかげさしで!

    EDITは、私はまだ、動的LIBSとして建てられを参照してください

    -- Configuring done 
    -- Generating done 
    CMake Warning: 
        Manually-specified variables were not used by the project: 
    
        BUILD_PYTHON_SUPPORT 
        BUILD_SHARED_LIBRARIES 
    

    ... cmakeのコマンドライン

    Result: 
    
    -- General configuration for OpenCV 2.4.6.1 ===================================== 
    -- Version control:    unknown 
    -- 
    -- Platform: 
    --  Host:      Linux 3.2.0-51-generic x86_64 
    --  CMake:      2.8.7 
    --  CMake generator:    Unix Makefiles 
    --  CMake build tool:   /usr/bin/make 
    --  Configuration:    RELEASE 
    -- 
    -- C/C++: 
    --  Built as dynamic libs?:  YES 
    --  C++ Compiler:    /usr/bin/c++ (ver 4.6) 
    --  C++ flags (Release):   -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -O3 -DNDEBUG -DNDEBUG 
    --  C++ flags (Debug):   -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -g -O0 -DDEBUG -D_DEBUG -ggdb3 
    --  C Compiler:     /usr/bin/gcc 
    --  C flags (Release):   -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -O3 -DNDEBUG -DNDEBUG 
    --  C flags (Debug):    -fsigned-char -W -Wall -Werror=return-type -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -g -O0 -DDEBUG -D_DEBUG -ggdb3 
    --  Linker flags (Release):  
    --  Linker flags (Debug):   
    --  Precompiled headers:   YES 
    -- 
    -- OpenCV modules: 
    --  To be built:     core imgproc flann highgui features2d calib3d ml video objdetect contrib photo legacy gpu nonfree java python stitching superres ts videostab 
    

    に... -Dの間に空白を削除しました?: YESそれはBUILD_SHARED_LIBRARIES変数について気にしないことを私に伝えます!

  • +0

    でなければなりません

    BUILD_SHARED_LIBRARIESBUILD_SHARED_LIBSBUILD_PYTHON_SUPPORTする必要がありますが、 '-D'フラグとその値の間にスペースを入れずにCMakeを起動しようとしたことがありますか?したがって、たとえば'cmake。 -DCMAKE_BUILD_TYPE =リリース...-DBUILD_SHARED_LIBRARIES = OFF' – Fraser

    +0

    私はそれをうまく試しました。私の質問の** EDIT **を参照してください。 –

    +1

    愚か私です! ** - DBUILD_SHARED_LIBS = NO **です! BUILD_SHARED_LIBRARIES ... –

    答えて

    15

    OpenCV's CMakeLists.txtを見ると、OpenCV CMakeオプションに間違った名前を使用しているように見えます。 BUILD_opencv_python

    +0

    どのようにイライラしている問題には簡単な解決策があるのか​​見て驚き! (反対の人はあまりにも真実です!)ありがとう! –

    関連する問題