Передайте в Qt Creator точно такие же параметры компилятору / компоновщику, как в командной строке - PullRequest
0 голосов
/ 15 февраля 2020

Ситуация: у меня есть 64-битная Linux система, но поскольку я хочу собрать wine из исходных кодов и не хочу использовать multi-arch для сборки ее 64-битной версии, я Я застрял с 32-битными библиотеками.

Я бы хотел поиграть с OpenGL и онлайн-уроками (которые, возможно, немного устарели), которые предлагают GLUT / GLEW в качестве оболочки. После нескольких проб и ошибок я смог создать пример приложения с помощью этой команды в терминале: флаг

g++ -m32 -o sample_app main.cpp -lGL -lGLEW -lglut

"- m32" используется для принудительного создания 32-битного приложения. :

$ file sample_app sample_app: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-, for GNU/Linux 2.6.32, BuildID[sha1]=121d43f03302033294947d82ca80e5ba7ff64778, not stripped

Но теперь я хотел бы создать то же самое примерное приложение с Qt Creator, и до сих пор у меня не было никакого успеха: по какой-то причине Qt Creator / qmake не видит библиотеку перенасыщения, даже если я указываю ее путь, и дает мне такие проблемы со сборкой: :-1: error: cannot find -lGLEW :-1: error: cannot find -lglut :-1: error: collect2: error: ld returned 1 exit status

Мой * .pro файл:

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
QMAKE_CXXFLAGS += -m32
LIBS += -lGL -lGLEW -lglut

SOURCES += \
    main.cpp

include(deployment.pri)
qtcAddDeployment()

Моя единственная мысль, что это пытается использовать 64-битные библиотеки и игнорирует флаг "-m32" или указанный путь к библиотекам (потому что у меня есть 64-битный libGL в системе, но нет других библиотек).

Любые предложения о том, что я я делаю не так?

...