链接Lua中使用Qt(Linking Lua with Qt)

2019-10-19 05:11发布

我是一个小白,所以如果有什么我问的是直线前进,或一些基本的东西,我已经错过了,请原谅我。

我试着去的Lua与Qt Creator的链接,这样我可以运行一个基本的Lua脚本。 我包括了所有在我的main.cpp文件由Lua中所需要的头文件。 而低我想给liblua.a库链接到项目; 所以我所做的是,我手动添加库。 造物主然后生成此代码,并将其添加到我的.pro - 文件:

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

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

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

后来,当我开始调试,我得到两个错误:

-Skipping不相容/home/..path到Lua源文件../ liblua.a为-llua搜索时

-cannot找到-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.

Answer 1:

最后,我把它解决了!

问题是,我要过编译的Lua库ARM内核。 原来的Lua库的架构是无法识别的核心,作为程序的执行发生在核心本身调试时。

我这样做的:

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

并除去所有提及上面的命令执行之前在生成文件和配置文件的ReadLine。



文章来源: Linking Lua with Qt