qn1527562850

qn1527562850

0个粉丝

3

问答

0

专栏

0

资料

qn1527562850  发布于  2018-06-21 20:06:00
采纳率 0%
3个问答
2332

交叉编译qt出现错误,求帮助

 
本帖最后由 qn1527562850 于 2018-6-21 20:07 编辑

想直接运行qt程序,不用每次都simpal_hifd &.
根据论坛上提供的方法,修改了Makefile来编译.但是出现了错误:
arm-hisiv300-linux-g++: error: main.o: 没有那个文件或目录
make: *** [main.o] 错误 1
我修改的Makefile格式为:
include ../Makefile.param
CC            = arm-hisiv300-linux-gcc
CXX           = arm-hisiv300-linux-g++
DEFINES       = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB
CFLAGS        += -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS      = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
INCPATH       = -I/opt/qt4.8.6/mkspecs/qws/linux-arm-3520d-g++ -I../frameTest -I/opt/qt4.8.6/include/QtCore -I/opt/qt4.8.6/include/QtNetwork -I/opt/qt4.8.6/include/QtGui -I/opt/qt4.8.6/include -I. -I. -I../frameTest -I.
INCPATH       += -I/opt/qt4.8.6/hiinclude -I
LINK          = arm-hisiv300_linux-g++
LFLAGS        = -Wl,-O1
LIBS          = $(SUBLIBS)  -L/usr/lib/i386-linux-gnu -lQtGui -lQtCore -lpthread
LIBS          += -L/opt/qt4.8.6/hilib -lmpi -lhdmi -ltde -lanr -laec -ljpeg -lresampler -lVoiceEngine
AR            = arm-hisiv300-linux-ar cqs
RANLIB        =
QMAKE         = /opt/qt4.8.6/bin/qmake
——————————————————————————————————————————————
.SUFFIXES: .o .c .cpp .cc .cxx .C

.cpp.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" $(MPI_LIBS) $(AUDIO_LIBA) $(JPEGD_LIBA)
——————————————————————————————————————————
main.o: ../frameTest/main.cpp ../frameTest/widget.h
        $(CXX) -c $(CXXFLAGS) $(CFLAGS) $(INCPATH) -o main.o ../frameTest/main.cpp

我保证我的frameTest下有main.cpp文件。而且可以在Qt Creator下运行显示出界面来
不知道那里除了错误,求大神支招


我来回答
回答3个
时间排序
认可量排序

goodman

2个粉丝

30

问答

18

专栏

17

资料

goodman 2018-06-22 17:45:23
认可0
这个IDE里面编译的还是自己改Makefile配置的?

qn1527562850

0个粉丝

3

问答

0

专栏

0

资料

qn1527562850 2018-06-23 10:23:30
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=100159&ptid=50922]goodman 发表于 2018-6-22 17:45[/url]
这个IDE里面编译的还是自己改Makefile配置的?[/quote]

修改的Makefile,修改的内容如下:
include       ../Makefile.param
CC            = arm-hisiv300-linux-gcc
CXX           = arm-hisiv300-linux-g++
DEFINES       = -DQT_WEBKIT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED
CFLAGS        += -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS      = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES)
INCPATH       := -I/opt/qt4.8.6/mkspecs/qws/linux-3520d-g++ -I. -I/opt/qt4.8.6/include/QtCore -I/opt/qt4.8.6/include/QtGui -I/opt/qt4.8.6/include/QtNetwork -I/opt/qt4.8.6/include -I. -I.
INCPATH       += -I/home/hong/3520/hi3520rootfs/mpp/include -I.
LINK          = arm-hisiv300-linux-g++
LFLAGS        = -Wl,-O1
#LIBS          = $(SUBLIBS)  -L/usr/lib/i386-linux-gnu -lQtGui -lQtCore -lpthread
LIBS          := $(SUBLIBS) -L/opt/qt4.8.6/lib -lQtGui -L/opt/qt4.8.6/lib -lQtNetwork -lQtCore -lrt -lpthread
LIBS          += -L/home/hong/3520/hi3520rootfs/mpp/lib -ldl -lmpi -lhdmi -ltde -lanr -laec -ljpeg -lresampler -lVoiceEngine
AR            = arm-hisiv300-linux-ar cqs
RANLIB        =
QMAKE         = /opt/qt4.8.6/bin/qmake
...........
.SUFFIXES: .o .c .cpp .cc .cxx .C

.cpp.o:
        $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" $(MPI_LIBS) $(AUDIO_LIBA) $(JPEGD_LIBA)
...........
main.o: main.cpp widget.h
        $(CXX) -c $(CXXFLAGS) $(COMM_OBJ) $(INCPATH) -o main.o main.cpp
_________________________________________________________________________________
编译时报的错误是:
/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/../../../../arm-hisiv300-linux-uclibcgnueabi/bin/ld: cannot find -lanr
/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/../../../../arm-hisiv300-linux-uclibcgnueabi/bin/ld: cannot find -laec
/opt/hisi-linux/x86-arm/arm-hisiv300-linux/bin/../lib/gcc/arm-hisiv300-linux-uclibcgnueabi/4.8.3/../../../../arm-hisiv300-linux-uclibcgnueabi/bin/ld: cannot find -lresampler
collect2: error: ld returned 1 exit status
make: *** [frameTest] 错误 1
您帮忙看下我哪里每配置不正确吧。
————————————————————————————————————————————————————
另外,我在QT工程中的.pro中也有做过实验,修改内容是:
INCLUDEPATH +=/home/hong/3520/hi3520rootfs/mpp/include
LIBS +=-L/home/hong/3520/hi3520rootfs/mpp/lib -lmpi -lhdmi -ltde -lanr -laec -ljpeg -lresampler -lVoiceEngine
提示在main中的#include "sample_comm.h"找不到
然后我在.pro中添加了:INCLUDEPATH +=/home/hong/3520/hi3520rootfs/mpp/sample/common
提示找不到:sample_comm.h下面的#include "tlv320aic31.h"和#include "nvp6124.h"
然后我在.pro中添加了:
INCLUDEPATH +=/home/hong/3520/hi3520rootfs/mpp/extdrv/tlv320aic31
INCLUDEPATH +=/home/hong/3520/hi3520rootfs/mpp/extdrv/nvp6124
编译后还是提示找不到:-lanr -laec -lresampler 和 error: collect2: error: ld returned 1 exit status
——————————————————————————————————————————————————
到这里,两条路都没法往下进行了。。。
作为 一个小白,我真的感觉到挺无力的。求大神帮忙渡过难关

qn1527562850

0个粉丝

3

问答

0

专栏

0

资料

qn1527562850 2018-06-24 09:37:39
认可0
问题解决了,主要是hi3520dv300与网站上提供的例子中的库文件有变化。加载时需要更改加载的库
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区