c++ - 连接 Lua 和 Qt

标签 c++ linux qt ubuntu lua

我是菜鸟,所以如果我问的是直截了当的问题,或者我错过了一些基本的问题,请原谅。

我正在尝试将 Lua 与 Qt Creator 链接起来,以便我可以运行基本的 Lua 脚本。我在 main.cpp 文件中包含了 Lua 所需的所有头文件。低我正在尝试将 liblua.a 库链接到项目;所以我所做的是,我手动添加了库。 然后,Creator 生成了这段代码,并将其添加到我的 .pro - 文件中:

    unix:!macx: LIBS += L$$PWD/ -llua

    INCLUDEPATH += $$PWD/
    DEPENDPATH += $$PWD/

    unix:!macx: PRE_TARGETDEPS += $$PWD/liblua.a

然后当我启动调试器时,出现两个错误:

-搜索-llua时跳过不兼容的/home/..路径到Lua源文件../liblua.a

-找不到-llua

我运行的是 Ubuntu 12.04,目前使用的 Lua 版本是 5.2.3

有人可以告诉我我做错了什么吗?

编辑:

编译输出: 16:48:10:项目 testApp 的运行步骤... 16:48:10:配置不变,跳过 qmake 步骤。

    16:48:10: Starting: "/usr/bin/make" 

    arm-linux-gnueabihf-g++ -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib -o 
    testApp main.o    -L/usr/local/Trolltech/QtEmbedded-4.8.4-arm/lib -ldl -L/home/david
    /workspace/testApp/ -llua -lQtNetwork -L/usr/local/Trolltech/QtEmbedded-4.8.4-
    arm/lib -lQtCore -lpthread 

    /usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../../arm-linux-gnueabihf/bin/ld: 
    skipping incompatible /home/david/workspace/testApp//liblua.a when searching for 
    -llua

    /usr/lib/gcc/arm-linux-gnueabihf/4.6/../../../../arm-linux-gnueabihf/bin/ld: cannot 
    find -llua

    collect2: ld returned 1 exit status

    make: *** [testApp] Error 1

    16:48:10: The process "/usr/bin/make" exited with code 2.

    Error while building/deploying project testApp (kit: SAP)

    When executing step 'Make'

    16:48:10: Elapsed time: 00:00.

最佳答案

终于解决了!

问题是我必须为 ARM 内核交叉编译 Lua 库。核心无法识别原始 Lua 库的体系结构,因为调试时程序的执行发生在核心本身。

我是这样做的:

    $ make linux CC=PATH/arm-linux-gnueabihf-gcc AR=”PATH/arm-linux-gnueabihf-ar rcu”  RANLIB=PATH/arm-linux-gnueabihf-ranlib

并在执行上述命令之前删除 makefile 和配置文件中对 readline 的所有引用。

关于c++ - 连接 Lua 和 Qt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21132898/

相关文章:

c++ - std::deque::erase,T需要MoveAssignable,如何规避?

python - Tensorflow 模型适用于 Python 但不适用于 C++

linux - 在 Unix 中如何读取文件内容并复制到新文件中?

c++ - 如何检查 QTreeView 中是否正在编辑任何项目?

c++ - QCompleter强制双输入

c++ - 模板化转换构造函数无法访问 protected 数据成员

c++ - 调用命名空间列表中具有相同名称的函数

python - 我可以通过一个 django 安装托管多个站点吗

python - input() 在进程中不起作用

c++ - qt从U盘读取数据