2010-04-14 4 views
1

저는 VS IDE에서 일하는 초보자이며 다른 라이브러리와 파일이 어떻게 링크되어 있는지에 대해 많은 경험이 없습니다. VS2008에 제 동료 중 한 명이 VS2005에서 만든 OpenCV 프로젝트를 만들어야합니다. 이 프로젝트는 얼룩 탐지를위한 것입니다. Visual Studio 2005 to VS 2008

  1. 라이브러리의 프로젝트를 열고에서 그것을
  2. 를 구축 :

    단계 (MSVC++ SP 5 사용) 라이브러리를 사용하려면 다음

    그가 추가 정보에 말해야하는 것입니다 라이브러리를 사용해야하는 프로젝트 추가 :

    2.1 "프로젝트/설정/C++/전처리 기/추가 포함 디렉토리"에 dire 블롭 라이브러리 "프로젝트/설정/링크/입력/추가 라이브러리 경로"에서

    2.2

    을 저장 ctory이 블롭 라이브러리가 저장되고 "개체/라이브러리 모듈"의 디렉토리를 추가 cvblobslib.lib 추가 파일

  3. blob 변수를 사용하려는 곳에 "BlobResult.h"파일을 포함시킵니다.
  4. 블롭 라이브러리 사용에 대한 예제를 보려면 zip 파일 내의 example.txt 파일을 참조하십시오.

참고하십시오 cvblobslib.lib를 사용하는 프로젝트에서 그 확인의 MFC 런타임 라이브러리는 혼합하지 않습니다 "프로젝트 -> 설정 -> C/C++에서

  1. 확인 -> 코드 생성 -> 런타임 라이브러리 사용 "을 설정하고 Debug Multithreaded DLL (디버그 버전) 또는 Multithreaded DLL (릴리스 버전)으로 설정하십시오.
  2. "프로젝트 -> 설정 -> 일반"에서 MFC를 사용하는 방법을 확인하십시오. 그것은 "공유 DLL에서 MFC 사용"이어야합니다.

NOTE1 : 라이브러리 컴파일이 단계를 통해 .NET에서 사용되지만, 메뉴 옵션이 조금 NOTE2 다를 수 될 수 닷넷 버전에서, 문자 집합은 .LIB 동일해야하며 프로젝트에서 [OpenCV yahoo 그룹 : Msg 35500]

누구든지 VS2008에서이 작업을 수행하는 방법을 설명 할 수 있습니까? 다른 라이브러리가 어떻게 링크되어 있는지, 다른 라이브러리가 어떻게 링크되었는지, 우리가 가지고있는 Visual Studio 프로젝트 폴더에서 디버그, 릴리즈 및 모든 것을 설명 할 수 있다면 고맙겠습니다. \

+0

감사합니다. KP ......... 더 많은 관심을 끌 수있는 현상금을 어떻게 내야합니까? – Adi

+0

현상금을 추가하려면 최소 2 일 전에 질문이 필요합니다. 당신은 질문을 편집하여 사이트의 첫 페이지로 되돌릴 수 있습니다. 일반적으로 세부 사항을 추가하면 다른 사람들이 당신이 문제 해결을 위해 노력하고 있음을 알 수 있습니다. 추가 할 수있는 새로운 정보가 유용 할 것입니다. –

답변

0

처음에는 혼란 스러울뿐만 아니라 아주 잘 MSDN에 의해 ​​설명되지 않습니다. 배우려는 가장 좋은 희망은 VS2008 지침 (예 : 부스트)으로 라이브러리에 연결하는 것입니다.

어쨌든 추가 포함 디렉토리는 프로젝트 -> 등록 정보 -> C++ -> 일반에 있으며 추가 라이브러리는 프로젝트 -> 등록 정보 -> 링커 -> 일반에 있습니다. 등록 정보 -> 링커 -> 입력 아래에서 추가 라이브러리에 라이브러리 이름을 입력 할 수 있습니다.

그래서 파일을 포함 할 때마다 Include 디렉토리와 그 파일에 대한 추가 include 디렉토리를 찾습니다. 추가 라이브러리 (.lib 파일)를 지정할 때마다 라이브러리 디렉토리와 추가 라이브러리 디렉토리를 찾습니다.

포함 또는 라이브러리 디렉토리를 많이 사용하는 경우 도구 -> 옵션 -> 프로젝트 및 솔루션 -> VC++ 디렉토리로 이동 한 다음 원하는 파일 및 라이브러리에 원하는 디렉토리를 입력하여 모든 솔루션에서 사용할 수 있도록 할 수 있습니다 파일 각각.

Debug vs. Release의 경우 Project-> Properties 아래에서 현재 등록 정보를 편집하고있는 구성을 알려주는 드롭 다운 메뉴가 왼쪽 상단에 있습니다. 현재 빌드하려는 프로젝트를 변경하려면 프로젝트 등록 정보의 오른쪽 상단에있는 "구성 관리자"를 클릭 한 다음 드롭 다운 목록을 사용하여 각 프로젝트의 구성을 선택하십시오.

릴리스에는 일반적으로 최적화 기능이 켜져 있으며 디버그는 일반적으로 디버깅 데이터베이스 (pdb 파일) 등을 빌드합니다. 또한 디버그 데이터베이스는 각각의 라이브러리에 연결됩니다. 즉, 일반적으로 구성에 맞게 라이브러리를 연결해야하므로 디버그 빌드를 디버그 라이브러리에 연결해야하고 릴리스 빌드를 릴리스 라이브러리에 연결해야합니다. 일반적으로 디버깅하는 라이브러리에는 이름 뒤에 d가 붙고, 멀티 스레드 인 경우 이름에 mt가 붙습니다.

그들이 제공하는 C++ -> 코드 생성 조언은 여전히 ​​동일하며 일반적인 출처 또는 문제입니다. 즉, 연결하려는 라이브러리가 사용중인 라이브러리와 다른 C 라이브러리에 링크되어있어 문제가 발생할 수 있습니다.

혼란 스러울 때 일반적으로 가장 좋은 해결책은 연결하려는 프로젝트의 메일 링리스트에 문의하는 것입니다. 알아낼 수없는 특정 오류가 발생하는 경우 구성을 가지고 놀고 시도해보십시오. 여전히 모르는 경우 특정 문제에 대해 여기에 질문하십시오.

+0

자세한 답변을 보려면 FranticPedantic을 이용해 주셔서 감사합니다. 나는 그것을 고맙게 생각하고 내가 말한 것을하려고 노력할 것이고, 그것에 대해 알게 될 것이다. – Adi

관련 문제