2012-03-07 6 views
3

MacPorts 프로젝트 (릴리스와 디버그 모두)를 사용하여 XCode 3.2를 사용하고 부스트를 설치했지만 응용 프로그램을 부스트 :: 파일 시스템과 연결하는 데 손실이 있습니다.XCode 3.2 (MacPorts)의 Boost Filesystem 연결하기

내 라이브러리 검색 경로를/opt/local/lib로 설정했지만 프로젝트를 링크 할 때 여전히 해결되지 않은 참조를 얻습니다.

"다른 링커 플래그"에 -lboost_system을 추가하는 것으로 나타났습니다.하지만이 작업을 수행 할 때 - libboost_system.dylib를 얻지 못하면 파일이 지원되지 않는 파일 형식 (i386)으로 연결되지 않습니다.

MacPorts가 올바른 라이브러리를 설치하지 않습니까? 아니면 다른 것을 잃어 버렸습니까?

마틴

답변

5

당신은 당신이 그것을 만들기 어떤 OS 버전을 표시하지 않았다. 내 생각 엔 포트를 만들고 설치할 때 MacPort 기본값은 x64입니다. MacPort에서 Uninstall 부스트를 입력 한 다음 유니버설 variant으로 다시 설치하십시오.

%% sudo port uninstall boost 
%% sudo port install boost +universal 
+0

나는 변종을 발견하고 지금 테스트하고있다. 나는 그것을 발견했다고 생각한다. 감사. 곧 다시 게시됩니다. – Martin

+0

그건 그랬어 - 다시 한번 감사드립니다! – Martin

1

라이브러리의 이름입니다 가능성이 정확히 boost_system하지만 어쩌면 boost_system-mt 또는 다른 접미사 (부스트가 스레드 안전 컴파일 되었기 때문에 -mt이다).

확인하려면 /opt/local/lib에서 이름을 찾아 볼 수 있습니다 :

find /opt/local/lib -name "libboost_system*" 
+0

모든 변형 (-d/-mt/-mt-d)을 시도했지만 모두 동일한 오류가 발생했습니다. 제안 해 주셔서 감사합니다. – Martin

+0

'find '를 시도 했습니까? 그 결과는 무엇입니까? libboost_system - 다, libboost_system-d.dylib, libboost_system-MT-다, libboost_system-MT-d.dylib, libboost_system-mt.a, libboost_system-mt.dylib, libboost_system : – Simon

+0

나는 8 개 파일을 얻을. a, libboost_system.dylib, – Martin