Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Bssn
0.05D
V2EX  ›  Linux

Mac(M2 芯片)编译 Qt6 Mysql 驱动时的错误

  •  
  •   Bssn · Mar 9, 2025 · 2015 views
    This topic created in 453 days ago, the information mentioned may be changed or developed.

    已安装:

    • mysql-client (homebrew)
    • qt 6.8.2

    尝试安装官网给的命令去构建驱动:

    // 官网版本:
    mkdir build-sqldrivers
    cd build-sqldrivers
    qt-cmake -G Ninja <qt_source_directory>/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=<qt_installation_path>/<platform> -DMySQL_ROOT="/usr/local/mysql"
    cmake --build .
    cmake --install .
    
    
    // 修改后:
    /Users/name/Qt/6.8.2/macos/bin/qt-cmake -G Ninja /Users/name/Qt/6.8.2/Src/qtbase/src/plugins/sqldrivers -DCMAKE_INSTALL_PREFIX=/Users/name/Qt/6.8.2/macos -DMySQL_ROOT="/opt/homebrew/opt/mysql-client"
    
    

    这样是能够成功的,但是执行 cmake --build . 时会报错:

    ld: symbol(s) not found for architecture x86_64
    c++: error: linker command failed with exit code 1 (use -v to see invocation)
    [14/16] Building CXX object sqlite/CMakeFiles/QSQLiteDriverPlugin.dir/qsql_sqlite.cpp.o
    [15/16] Building C object sqlite/CMakeFiles/QSQLiteDriverPlugin.dir/Users/bssn/Qt/6.8.2/Src/qtbase/src/3rdparty/sqlite/sqlite3.c.o
    ninja: build stopped: subcommand failed.
    
    

    研究了好一会儿,但仍不知道怎么解决,求大佬指点~

    6 replies    2025-03-09 21:21:16 +08:00
    v1
        1
    v1  
       Mar 9, 2025
    系统环境差异,你要检查下 makefile ,看看里面是不是写的 g++,改成 gcc 即可

    错误:g++ -o exec main.o add.o
    正确:gcc -o exec main.o add.o
    julyclyde
        2
    julyclyde  
       Mar 9, 2025
    @kk2syc 这俩前端针对的语言都不一样吧,能互换?
    Bssn
        3
    Bssn  
    OP
       Mar 9, 2025
    @kk2syc 老哥,build-sqldrivers 目录下没有 makefile 文件呢,只有 build.ninja ,里面也没有搜到 g++,不知道怎么办了😭 我是小白,老哥勿怪😭
    hwdq0012
        4
    hwdq0012  
       Mar 9, 2025
    qt 在线安装器安装的库都是 x86_64 的,你的工具链,相关的链接都得用 x86_64 的才行,
    或者你自己编译一下 qt arm64 的
    Shatyuka
        5
    Shatyuka  
       Mar 9, 2025
    架构不对
    Bssn
        6
    Bssn  
    OP
       Mar 9, 2025
    @hwdq0012 编译了一下 arm64 版本的 qt ,果然成功了,感谢指点
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2757 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 05:26 · PVG 13:26 · LAX 22:26 · JFK 01:26
    ♥ Do have faith in what you're doing.