저는 Ubuntu 11.04에서 C++, OpenCV 2.2 및 g ++를 사용하여 작은 프로젝트를 작성했습니다. 라이브러리 (.so는 더 좋을 것)를 만들 필요가 있지만 OpenCV를 설치하지 않고 다른 컴퓨터에서 실행하고 싶습니다.
g ++ 용 -shared 및 -fPIC 플래그를 사용하여 동적 라이브러리를 작성하려고 시도했으며 OpenCV .so libs를 작업 디렉토리에 복사했습니다. 실제로 코어와 feature2d 만 필요하지만 사실 많은 의존성이있는 highgui를 포함하여 다른 libs를 많이 요청했습니다.
-Wl, -Bstatic 플래그를 사용하여 정적 연결을 시도했지만 실패했습니다. 누군가 동일한 문제가 있었습니까? 나는 어떤 종류의 도움을 주셔서 감사하겠습니다.다른 컴퓨터 (Linux)에서 OpenCV로 C++ 라이브러리를 실행하는 방법은 무엇입니까?
1
A
답변
3
시스템 라이브러리의 종속성없이 OpenCV를 빌드 할 수 있습니다.
cmake -DWITH_1394=OFF -DWITH_CUDA=OFF -DWITH_EIGEN2=OFF -DWITH_FFMPEG=OFF -DWITH_GSTREAMER=OFF -DWITH_GTK=OFF -DWITH_OPENEXR=OFF -DWITH_PVAPI=OFF -DWITH_QT=OFF -DWITH_TBB=OFF -DWITH_UNICAP=OFF -DWITH_V4L=OFF -DWITH_XINE=OFF -DUSE_IPP=OFF -DOPENCV_BUILD_3RDPARTY_LIBS=ON ..
을하지만이 경우에 당신은 형성 highgui 모듈의 많은 기능을 사용할 수 없습니다 : : 리눅스에서 OpenCV의 2.2에 대한 모든 종속성 설정하려면 다음 인수로 cmake를 실행할 수 있습니다
- 을 카메라와 함께 GUI 작업
- 모든 기능을 작동 비디오 읽기와 쓰기
- (같은 imshow)
+0
'cv :: imencode'와'cv :: imdecode'도'highgui'에있는 것으로 보입니다. –
+0
실제로 많은 형식의 시스템 라이브러리 없이도 작업 할 수 있습니다. –
관련 문제
- 1. 다른 glibc 라이브러리를 사용하여 Linux에서 C 프로그램 컴파일
- 2. Android에서 네이티브 라이브러리를 실행하는 방법은 무엇입니까?
- 3. Linux에서 라이브러리를 정적으로 연결
- 4. 다른 코어에서 다른 스레드를 실행하는 방법은 무엇입니까?
- 5. 루프에서 OpenCV로 이전 이미지를 기억하는 방법은 무엇입니까?
- 6. C/C++ - Linux에서 EEPROM웨어웨어 레벨링을위한 라이브러리는 무엇입니까?
- 7. Linux에서 실행중인 C++ 프로그램을 디버깅하는 방법은 무엇입니까?
- 8. Red Hat Linux에서 C# 클래스 라이브러리를 C++로 변환
- 9. 컴퓨터/컴퓨터 SID를 추출하는 방법은 무엇입니까?
- 10. GTK 라이브러리를 실행하는 방법 Windows OS에서 C?
- 11. C#/Mono로 Linux/Mac 컴퓨터 시계를 설정하는 방법은 무엇입니까?
- 12. C# ClassLibrary의 라이브러리를 정적으로 링크하는 방법은 무엇입니까?
- 13. Linux에서 C/C++을 사용하여 DNS 조회를 수행하는 방법은 무엇입니까?
- 14. Linux에서 이더넷을 확인하는 방법은 무엇입니까?
- 15. VB6를 사용하여 컴퓨터 B에서 컴퓨터 A에 저장된 exe를 실행하는 방법은 무엇입니까?
- 16. 필요한 C 런타임 라이브러리를 생략하는 타사 라이브러리를 수정하는 방법은 무엇입니까?
- 17. windows/linux에서 USWC로 메모리를 매핑하는 방법은 무엇입니까?
- 18. Go Daddy 서버에서 .NET 클래스 라이브러리를 실행하는 방법은 무엇입니까?
- 19. ColdFusion에서 C# 라이브러리를 참조하는 방법은 무엇입니까?
- 20. Xcode에서 타사 C 라이브러리를 컴파일하는 방법은 무엇입니까?
- 21. D에서 C 라이브러리를 사용하는 방법은 무엇입니까?
- 22. MinGW에서 C 라이브러리를 설치하는 방법은 무엇입니까?
- 23. Android에서 서비스를 다른 사용자로 실행하는 방법은 무엇입니까?
- 24. node.Js - 다른 페이지를 실행하는 방법은 무엇입니까?
- 25. Linux에서 SDL을 사용하는 방법은 무엇입니까?
- 26. C# 클래스에서 jQuery를 실행하는 방법은 무엇입니까?
- 27. Linux에서 멀티 스레드 C 프로그램을 위해 어떤 스레드 라이브러리를 사용해야합니까?
- 28. Android/Linux에서 OpenSSL을 구축하는 방법은 무엇입니까?
- 29. 중간 라이브러리를 만드는 방법은 무엇입니까?
- 30. OpenCV로 플레이어 모델을 검색하는 방법
정적 린 highgui는 여러 시스템 라이브러리에 의존하기 때문에 king은 정말 유용하지 않습니다. 카메라 또는 비디오 읽기/쓰기가 필요하지 않으면 대부분의 의존성을 끌 수 있습니다. 이 방법이 효과가 있다면 cmake 명령을 게시하여 비디오 지원없이 OpenCV를 빌드 할 수 있습니다. –
예, 저는이 프로젝트에서 highgui가 전혀 필요하지 않지만 OpenCV 라이브러리 중 하나에서 사용됩니다. 고마워, 나는 너의 해결책을 시도 할 것이다. – Gregory