나는 두 번 내 qmake
파일에 libA.a
라이브러리를 링크해야합니다 g++
을 실행하는 동안qmake : 라이브러리를 두 번 연결하는 방법은 무엇입니까?
LIBS = -lA \
-lB \
-lA \
-lC \
-lD
하지만 qmake
처음 -lA
을 제거하고 있습니다. 어떻게해야합니까?
나는 두 번 내 qmake
파일에 libA.a
라이브러리를 링크해야합니다 g++
을 실행하는 동안qmake : 라이브러리를 두 번 연결하는 방법은 무엇입니까?
LIBS = -lA \
-lB \
-lA \
-lC \
-lD
하지만 qmake
처음 -lA
을 제거하고 있습니다. 어떻게해야합니까?
이 모든 LIBS 플래그의 병합을 사용하지 qmake를 말해)는 :: 물건을 필요로 :
CONFIG += no_lflags_merge
그러나,이 정리되지 모든 중복 라이브러리가 발생합니다. 이것은 실제로는 중요하지 않습니다.
또는 qmake가 중복 라이브러리를 찾지 못하도록 트릭 할 수 있습니다. 그것은 단지 문자열을 일치 정말 도서관 플래그를 구문 분석하지 않기 때문에, 당신은 할 수 있습니다 :
LIBS += -lA -lB -l A -lC -lD
주에게 -lA
및 -l A
의 차이를. 이것은 컴파일러가 qmake가 수행하지 않는 동안 컴파일러가 실제 명령 행 인자 분석을 수행하기 때문에 qmake가 컴파일러의 관점에서 볼 때 동일하다고 판단합니다.
생성되는 내용은 다음과 같습니다.'g ++ -lA -lB -lA -Wl, -O1 -Wl, -rpath,/opt/Qt5.1.0/5.1.0/gcc -Wl, -rpath,/opt/Qt5.1.0/5.1.0/gcc/lib -o TableView main.o mainwindow.o customsqlmodel.o model.o helper.o cdrlistmodel.o moc_mainwindow.o moc_customsqlmodel.o -lC -lD -L/opt/Qt5.1.0 // 5.1. 0/gcc/lib -lQt5Widgets -lQt5Sql -lQt5Gui -lQt5Core -lGL -lpthread' – Meysam
'-lA -lB -lA'가'g ++'바로 뒤에 있기 때문에 작동하지 않습니다. 만약 내가'-lC -lD' 전에 수동으로 옮기면, 프로그램은 성공적으로 컴파일됩니다 : 'g ++ -Wl, -O1 -Wl, -rpath,/opt/Qt5.1.0/5.1.0/gcc -Wl, -rpath,/opt/Qt5.1.0/5.1.0/gcc/lib -o TableView main.o mainwindow.o customsqlmodel.o model.o helper.o cdrlistmodel.o moc_mainwindow.o moc_customsqlmodel.o -lA -lB -lA -lC -ID -L/opt/Qt5.1.0 // 5.1.0/gcc/lib -lQt5Widgets -lQt5Sql -lQt5Gui -lQt5Core -lGL -lpthread' – Meysam
해결 방법은 없습니까? – Meysam
무엇에 대해 :
QMAKE_LFLAGS += -(-lA -lB -)
?
편집 : 당신은 어떻게이 구문이하는 것은 그들이 (A : 물건 B를 필요로 다소 재귀 경우에도, 라이브러리 사이의 모든 depencies를 해결하는 것입니다
QMAKE_LFLAGS += -(-lA -lB -lC -lD -)
시도 않았다 :: 물건 C를 필요로 :: 물건
'C'와'D' 라이브러리도 포함시켜 주시겠습니까? – Meysam
이 오류가 발생합니다 :'/ bin/sh : 구문 오류 : "(예기치 않은 make : *** [TableView] 오류 2' – Meysam
그리고 이것은 구문 오류로 실행 된 마지막 명령입니다 :'g ++ - -lb, -lpath, -rpath,/opt/Qt5.1.0/5.1.0/gcc -Wl, -rpath,/opt/Qt5.1.0/5.1.0/gcc/lib -o TableView main .o mainwindow.o customsqlmodel.o model.o helper.o cdrlistmodel.o moc_mainwindow.o moc_customsqlmodel.o -L/opt/Qt5.1.0 // 5.1.0/gcc/lib -lQt5Widgets -lQt5Sql -lQt5Gui -lQt5Core -lGL -lpthread' – Meysam
그냥 호기심이 많습니다. 왜 그럴 필요가 있니? –
@ NikosC. 순환 의존성. – Meysam