2012-01-24 2 views
1

QtCreator를 사용하여 Linux 용 응용 프로그램을 만들었습니다. 응용 프로그램은 두 개의 외부 라이브러리, qextserialportqwt을 사용합니다. 내가 의존하는 모든 라이브러리가 실행 파일과 함께 배포되도록 앱을 배포하고 싶습니다.윈도우와 리눅스에서의 독립적 인 qt 응용 프로그램 및 종속 패키지

Windows 용 응용 프로그램을 만들었는데 방금 .dll 파일을 app.exe 폴더에 복사하면 제대로 작동합니다. 하지만 리눅스에서 어떻게해야합니까?

답변

2
리눅스에서

을 수행 할 수 있습니다

1) 정적 링크 의존성

또는

2) 팩 종속성 창 - 스타일과 동적 라이브러리

가 포함 된 하위 디렉토리를 가리키는 설정 환경 변수 LD_LIBRARY_PATH

[업데이트]

은 컴파일해야합니다 수 있으며, man ld 읽기 라이브러리가 기본적으로 컴파일되지 않은 경우 정적 버전의 라이브러리 ( look at this tutorial if you can't tell the difference).

라이브러리가 autoconf (많은 리눅스 소프트웨어 do)를 사용한다면, synthesizerpatel이 쓴 위대한 의견으로 --enable-shared와 --enable-static과 같은 옵션이 있습니다.

+0

나는 정적 인 링크에 대해서 읽었지만 할 일이 없다. 세부 사항을 알려줄 수있다. – sanjay

+1

라이브러리를 정적으로 컴파일하십시오 (대부분이 옵션, --enable-shared 또는 --enable-static (autoconf/configure로 빌드 한 경우)). 정적 라이브러리를 사용하면 libname.so 또는 libname.dylib (mac)와는 달리 libname.a가됩니다. 그런 다음 링크 할 때 객체의 일부로 공유 lib에 대한 경로를 지정하거나 -L/where/the/dota/lives -lname – synthesizerpatel

+0

@Sanjay이 답변에는 내가 원하는 것을 수행하는 두 가지 방법이 모두 포함되어 있습니다. 제안하고, 따라서 나는 당신이 그걸 그와 같이 표시 할 것을 권합니다! –

관련 문제