2010-12-30 2 views
1

gdb에서의 디버깅은 나에게 편리하지 않으므로 code :: blocks이 제공하는 멋진 디버깅 인터페이스를 즐기고 있습니다. 이제는 프로젝트를 플래그가 필요한 영역 (물론 제목의 영역)으로 옮겼으므로 이제는 code :: blocks에서 컴파일 할 수 없습니다. /.linux 용 code :: blocks 컴파일러에서 어떻게 '-lrt'또는 '-lboost_thread'와 같은 컴파일 플래그를 추가 할 수 있습니까?

+0

'-pthread'옵션으로 컴파일하려고하면이 문제가 발생했습니다. 컴파일 및 링커 단계 모두에 '-pthread'가 필요합니다. '다른 링크 옵션'에 '-pthread'를 넣으면 나를 위해 일했습니다. 필요할 경우 링커 옵션이 컴파일러에 보내지는 것으로 제안하므로이 내용을 추가 할 것입니다. – user3728501

답변

3

안녕하세요 여러분, -lrt를 추가하는 방법을 알아 냈습니다. -lrt가 컴파일러가 아닌 링커에 전달되므로 설정 -> 컴파일러 및 디버거 -> 링커 옵션을 선택한 다음 add를 누르고 "lrt 찾기"를 수행 한 후에이 귀여운 라이브러리 "/ usr/lib/libaticalrt"를 발견했습니다. 그래서." 링커 옵션에 라이브러리를 추가했는데 이제는 그 오류가 사라졌습니다 ... 부스트 시도 시간!

EDIT : 부스트를 유사한 방식으로 해결했습니다. lboost_thread가 나타내는 라이브러리는 libboost_thread.so입니다. 찾은 위치 : "/usr/lib/libboost_thread.so." 링커 옵션에 추가하면이 문제가 해결되었습니다. D

+0

-lglut과 같은 것을 시도했지만'lglut 찾기 '는 아무 것도 반환하지 않습니다. 또한'lglut '을 검색 할 때 Synaptic Package Manager에서 아무것도 찾지 못합니다. 어떤 아이디어? 이 동기를 유발하는 오류는 "glEnableClientState '에 대한 정의되지 않은 참조입니다. – Shawn

+0

'sudo updatedb '를 수행하여 locate의 데이터베이스를 업데이트하려고 시도한 다음 locate를 수행하십시오. grep .so "라는 단어가있는 모든 라이브러리를 찾을 수 있습니다. – returneax

+0

@Shawn 그 점을 지적 해 주셔서 감사합니다. –

관련 문제