Ситуация: у меня есть 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 в системе, но нет других библиотек).
Любые предложения о том, что я я делаю не так?