Неопределенная ссылка на `pthread` после компиляции кода Qt C ++ с помощью aarch64- linux -gnu-g ++ - PullRequest
0 голосов
/ 20 марта 2020

У меня есть простой код Qt C ++, как показано ниже:

#include <QString>
#include <QDebug>
int main(int argc, char *argv[])
{
    QString test="HELLO WORLD!";
    qDebug()<<test;
    return 0;
}

Я могу скомпилировать этот файл с g ++ в Ubuntu с помощью этой команды в терминале:

g++ -fPIC -I"/home/***/Qt5.12.7/5.12.7/gcc_64/include/" -I"/home/***/Qt5.12.7/5.12.7/gcc_64/include/QtCore" -L"/home/***/Qt5.12.7/5.12.7/gcc_64/lib"  main.cpp -lQt5Core -o output

Но когда я хочу чтобы скомпилировать вышеуказанный файл с помощью aarch64- linux -gnu-g ++ для arm64:

aarch64-linux-gnu-g++ -I"/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/include" -I"/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/include/QtCore" -L"/usr/aarch64-linux-gnu/lib/" -L"/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib" main.cpp -lpthread -lQt5Core -o output

Я получаю следующие ошибки:

/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: warning: libz.so, needed by /home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: warning: libc++_shared.so, needed by /home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: warning: liblog.so, needed by /home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc-cross/aarch64-linux-gnu/7/../../../../aarch64-linux-gnu/bin/ld: warning: libc.so, needed by /home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so, not found (try using -rpath or -rpath-link)
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `pthread_key_delete@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `geteuid@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `pthread_self@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `rename@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `pthread_key_create@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `prctl@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `munmap@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `pthread_mutex_destroy@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `access@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `readlink@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `strerror_r@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `ftruncate@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `unsetenv@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `write@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `sysconf@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `dlopen@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `setsid@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `strlen@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `strrchr@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `fwrite@LIBC'
...
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `strerror@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `free@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `fstat@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `pthread_condattr_destroy@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `setenv@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `printf@LIBC'
/home/***/Qt5.12.7/5.12.7/android_arm64_v8a/lib/libQt5Core.so: undefined reference to `execve@LIBC'
collect2: error: ld returned 1 exit status

Я думаю, добавление -lpthread должно решить эти неопределенные ссылочные ошибки но это не может. Как я могу решить это?

...