2012-05-18 2 views
0

dll을 만드는 여러 Qt 프로젝트가 있습니다. 그런 다음 모두를로드하고 GUI를 표시하는 '기본'프로젝트가 있습니다. 모든 것이 잘 돌아갑니다.Qt - 올바른 소스 파일을 사용하지 않습니다.

내 문제는, 이제는 주 프로젝트를 통합해야하는 다른 Qt 프로젝트 (최신 프로젝트라고 부름)가 있습니다 ... 모든 것이 작동하는 것처럼 보이지만 dll 중 하나를 변경하면 이러한 변경 사항은 최신 프로젝트로 전파되지 않습니다. 다시 작성하고 dll을 통해 복사하지만 프로젝트는 여전히 이전 파일을 실행합니다. 나는 그것을 디버거를 통해 밟아 봤고, 내가 주석 처리 한 곳에서는 그 줄이 실행된다.

나는 이것을 더 잘 이해하지 못하기 때문에 좀 더 구체적으로 설명 할 수 있는지, 아니면 뭔가를 이해하지 못할 경우 알려 주시기 바랍니다.

감사합니다.

편집 'main'프로젝트를 독자적으로 실행하면 변경 사항이 적용됩니다. fyi.

+0

아마도 동적 링커 검색 경로를 올바르게 구성해야합니다. 여기서 Qt는 부적합합니다. – ulidtko

+0

@ulidtko ok .... 그래서 어떻게 동적 링커 검색 경로 속성을 업데이트합니까 ?? – PTBG

+0

은 OS에 따라 크게 달라집니다. 리눅스에서는'ld.so'와'ldconfig'를 배워야합니다. – ulidtko

답변

1

Qt IDE가 실행 중 오래된 바이너리를 사용 중입니다. So Go to your build directories of your two projects and remove all those binaries generated in previous builds. 이제 새 통합 프로젝트에서 파일을 변경하면 이전 바이너리가 없기 때문에 반영됩니다. 그래서 qt IDE는 새로운 업데이트 된 소스를 컴파일하고 최신 바이너리를 실행합니다.

관련 문제