qmake와 생성되는 make 파일에 문제가 있습니다. 내 프로그램은 두 개의 라이브러리에 링크되어야합니다. main.pro에 다음과 같이 추가합니다.QMake GCC와 연결 문제
LIBS += -L lib/somelib1/bin -lsomelib1 -L lib/somelib2/bin -lsomelib2
어떻게 위의 줄을 정렬합니까? qmake가 gcc에게 알려줍니다.
g++ -o programname someobject.o -L lib/somelib1/bin lib/somelib2/bin -lsomelib1 -lsomelib2
문제는 이렇게 보일 것입니다.
g++ -o programname someobject.o -L lib/somelib1/bin -L lib/somelib2/bin -lsomelib1
-lsomelib2
GCC는 다음과 같은 오류를 발생시킵니다.
lib/somelib2/bin: file not recognized: Is a directory
미리 감사드립니다.
환호성. 나는 하나의 라이브러리 만 가지고있는 공간을 가지고 있었고 그렇게 작동했기 때문에 같은 라이브러리가 다른 라이브러리와 겹칠 것이라고 생각했습니다. 정적/가져 오기 설명의 의미가 확실하지 않습니다. – user174084
라이브러리를 빌드/설치하는 "일반적인"/ "표준적인"방법은'someprefix/lib'에 정적 라이브러리 또는 임포트 라이브러리 (그리고 리눅스'.so's)를 놓는 것입니다. 그리고 실행 파일이나 Windows DLL의 경우에는 'someprefix/bin'. 링커에게 첫 번째 디렉토리를 전달하고 PATH에 두 번째 디렉토리를 추가합니다. 난 그냥 DLL에 직접 연결하는 두려워하는 (잘 작동하지만 위에 언급 한 의미에서 이식되지 않습니다, 리눅스에서, 그것은 당신이 일반적으로 다른 디렉토리에있는 라이브러리에 있기 때문에 휴식 것입니다). 그냥 여기에서 nitpicking, 그것이 작동한다면, 그것을 고쳐하지 마십시오! – rubenvb
건배하지만 이것들은 프로젝트에 내장 된 정적 라이브러리입니다. 나는 git 서브 모듈을 사용하여이 라이브러리들을 가져왔다. 이 라이브러리는 또한 qt이며 실행 파일로 컴파일됩니다. – user174084