подтиму тему: в свежем дебиане есть мультиарч суппорт - ставятся заголовки и библиотеки для кроскомпияции для цели amd64 на хоcте i386. добавление в .pro-файл строк
QMAKE_CXXFLAGS_RELEASE += -m64
QMAKE_LFLAGS_RELEASE += -m64
сделало возможным компиляцию cpp-файлов, но только компиляцию, на этапе линковки получаю ошибки
g++ -Wl,-O1 -m64 -o qttest64 main.o -L/usr/lib -lQtGui -lQtCore -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/libQtGui.so when searching for -lQtGui
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.6/../../../libQtGui.so when searching for -lQtGui
/usr/bin/ld: skipping incompatible /usr/lib/libQtGui.so when searching for -lQtGui
/usr/bin/ld: cannot find -lQtGui
/usr/bin/ld: skipping incompatible /usr/lib/libQtCore.so when searching for -lQtCore
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.6/../../../libQtCore.so when searching for -lQtCore
/usr/bin/ld: skipping incompatible /usr/lib/libQtCore.so when searching for -lQtCore
/usr/bin/ld: cannot find -lQtCore
collect2: ld returned 1 exit status
make: *** [qttest64] Помилка 1
что вообщем-то нормально поскольку в /usr/lib у меня библиотеки для архитектуры i386. Есть мысль установить эти библиотеки из пакетов для amd64 но вот как бы их по-правильному установить, чтоб не сильно манипулировать файлами вручную и чтоб пакетный менеджер дебиана не затер родные для архитектуры библиотеки ?
еще сделал так, распаковал amd64 библиотеки Qt в /opt/lib64 из пакетов вручную, дописал в .pro-файл
QMAKE_LIBDIR_QT = /opt/lib64
команда линковки, генерируемая qmake теперь выглядит так
g++ -Wl,-O1 -m64 -o qttest64 main.o -L/opt/lib64 -lQtGui -lQtCore -lpthread
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.6/../../../libQtGui.so when searching for -lQtGui
/usr/bin/ld: skipping incompatible /usr/lib/libQtGui.so when searching for -lQtGui
/usr/bin/ld: cannot find -lQtGui
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.6/../../../libQtCore.so when searching for -lQtCore
/usr/bin/ld: skipping incompatible /usr/lib/libQtCore.so when searching for -lQtCore
/usr/bin/ld: cannot find -lQtCore
collect2: ld returned 1 exit status
make: *** [qttest64] Помилка 1
а почему оно все-равно исчет библиотеки в /usr/lib если параметр -L задан на совсем другой путь ?