2011-01-13 2 views
2

하나의 공통 코드를 한 곳에 넣으려는 나의 .lib에 의해 생성 된 여러 프로젝트가 포함 된 VC++ 2010 솔루션이 있습니다.동일한 VC++ 2010 솔루션에서 프로젝트로 생성 된 .lib에 링크하는 방법

이제이 라이브러리에 연결하는 일반 콘솔 응용 프로그램 인 다른 프로젝트를 얻으려고합니다. 그러나, 추가 종속성으로 추가 한 경우 VS VS.lib 찾을 수 없다는 불평하고 있습니다.

.lib는 다른 프로젝트에도 불구하고 .lib가 동일한 솔루션이기 때문에 VS가 쉽게 만들 수 있기를 바랬습니다.하지만 슬프게도 운이 없습니다.

EDIT 나는 장님이되어야하지만 '팀이 언급 한'추가 경로 '옵션을 찾을 수없는 것 같습니다. lib 프로젝트를 콘솔 프로젝트의 프로젝트 종속성에 추가했지만 여전히 작동하지 않습니다.

EDIT2 실제로 .cpp 및 .h 파일을 .lib 프로젝트에 추가 한 후에 Edwin의 제안이 트릭을 보였습니다. 너무나 명백한 것을 놓칠 때 나는 그것을 정말로 싫어한다.

답변

4

properties_> Common Properties-> Framework & dependecies 실행 파일의 경우 실행 파일이 종속 된 프로젝트를 추가 할 수 있습니다. 그 후 C++ -> 일반 경로를 포함 파일을 찾을 수 있도록 조정하면됩니다.

EDIT : 저는 AppTest와 lib-project Dummy라는 이름의 exe-project를 가지고 있습니다.

프레임 틀에 대한 더미 프레임 워크 & AppTest를 추가했습니다.

그런 다음 AppTest의 포함 경로가 더미의 디렉토리를 가리 키도록 모든 구성을 조정했습니다.

그런 다음 dummy.h를 apptest.cpp에 추가하고 dummy.lib의 함수를 호출했습니다.

솔루션을 빌드하십시오. 그게 다야.

+0

좋아, 나는 그랬지만 여전히 운이 없다. 링커는 여전히 .lib을 찾을 수 없다고 주장합니다. .lib를 Properties/Configuration Properties/Linker의 Additional Dependencies에서 제거하면 해결되지 않은 외부 종속성을 나타내는 LNK2019가 표시됩니다. 솔루션의 디버그 디렉터리에서 .lib에 대한 상대 경로를 지정해야합니까? 그러나, 내가 그렇게하면, 릴리스 전환 할 때 문제가 예상됩니다 ... – dandan78

+0

@ dandan78 : 라이브러리를 수동으로 추가하는 경우 VS에서 제공하는 많은 매크로를 사용해야합니다 (편집을 선택할 때 단추가 있음). –

+0

@ dandan78 : 어떻게했는지 예제를 제공했습니다. –

0

lib에 종속 된 프로젝트의 "추가 경로"속성을 변경하십시오.

2

Visual C++에서 라이브러리를 연결하는 방법은 3 가지가 될 수 있습니다. Existing Item을 추가하고 lib 파일을 가리키면 프로젝트에 .lib 파일을 명시 적으로 포함시킬 수 있습니다. 그렇게하면 경로를 지정할 필요가 없습니다. 옵션/링커/입력에 파일을 추가하고 추가 라이브러리 디렉토리에 경로를 지정할 수 있습니다. 마지막으로 #pragma comment (lib, "my.lib")를 사용하고 이전과 같이 경로를 지정할 수 있습니다. 확실하지는 않지만 위의 pragma도 전체 경로를 지정할 수 있다고 생각합니다.

관련 문제