Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为嵌入式系统构建Qt时出错_C++_Qt_Qt4_Embedded_Davinci - Fatal编程技术网

C++ 为嵌入式系统构建Qt时出错

C++ 为嵌入式系统构建Qt时出错,c++,qt,qt4,embedded,davinci,C++,Qt,Qt4,Embedded,Davinci,我正在尝试为达芬奇DM365(ARM9)构建Qt4.8.5 我复制了mkspecs/qws/linux-arm-gnueabi-g++并将其命名为dm365,下面是我的qmake.conf的样子: include(../../common/linux.conf) include(../../common/gcc-base-unix.conf) include(../../common/g++-unix.conf) include(../../common/qws.conf) # modific

我正在尝试为达芬奇DM365(ARM9)构建Qt4.8.5

我复制了
mkspecs/qws/linux-arm-gnueabi-g++
并将其命名为
dm365
,下面是我的qmake.conf的样子:

include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)

# modifications to g++.conf
QMAKE_CFLAGS_RELEASE        = -03 -march=armv5te
QMAKE_CXXFLAGS_RELEASE      = -03 -march=armv5te
QMAKE_CC                    = arm-none-linux-gnueabi-gcc
QMAKE_CXX                   = arm-none-linux-gnueabi-g++
QMAKE_LINK                  = arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB            = arm-none-linux-gnueabi-g++

# modifications to linux.conf
QMAKE_AR                = arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = arm-none-linux-gnueabi-objcopy
QMAKE_STRIP             = arm-none-linux-gnueabi-strip

load(qt_config)
下面是我用于配置脚本的选项列表:

./configure -embedded arm -platform qws/linux-x86-g++ -xplatform qws/dm365 -depths 16,24,32 -no-mmx -no-3dnow -no-sse -no-sse2 -no-cups -no-largefile -no-accessibility -no-openssl -no-gtkstyle -qt-mouse-pc -qt-mouse-linuxtp -qt-mouse-linuxinput -plugin-mouse-linuxtp -plugin-mouse-pc -fast -no-qt3support -opensource -no-webkit -no-openssl -nomake demos -nomake examples
创建Makefile并尝试
make
实际构建Qt后,出现以下错误:

release-shared/parser.o: In function `Parser::note(char const*)':
parser.cpp:(.text+0x23c): undefined reference to `qt_assert_x(char const*, char const*, char const*, int)'
parser.cpp:(.text+0x276): undefined reference to `qt_assert(char const*, char const*, int)'
release-shared/parser.o: In function `QVector<Symbol>::at(int) const':
parser.cpp:(.text._ZNK7QVectorI6SymbolE2atEi[_ZNK7QVectorI6SymbolE2atEi]+0x2d): undefined reference to `qt_assert_x(char const*, char const*, char const*, int)'
release-shared/parser.o: In function `QStack<QByteArray>::top()':
parser.cpp:(.text._ZN6QStackI10QByteArrayE3topEv[_ZN6QStackI10QByteArrayE3topEv]+0x1f): undefined reference to `qt_assert(char const*, char const*, int)'
collect2: error: ld returned 1 exit status
make[1]: *** [../../../bin/moc] Error 1
make[1]: Leaving directory `/home/dmitry/Downloads/qt-everywhere-opensource-src-4.8.5/src/tools/moc'
make: *** [sub-moc-make_default-ordered] Error 2
release shared/parser.o:在函数“parser::note(char const*)”中:
parser.cpp:(.text+0x23c):对“qt\u assert\u x(char const*,char const*,char const*,int)”的未定义引用
parser.cpp:(.text+0x276):对“qt_断言(char const*,char const*,int)”的未定义引用
release shared/parser.o:在函数'QVector::at(int)const'中:
parser.cpp:(.text._ZNK7QVectorI6SymbolE2atEi[_ZNK7QVectorI6SymbolE2atEi]+0x2d):对'qt_assert_x(char const*,char const*,char const*,int'的未定义引用)
release shared/parser.o:在函数'QStack::top()'中:
parser.cpp:(.text._ZN6QStackI10QByteArrayE3topEv[_ZN6QStackI10QByteArrayE3topEv]+0x1f):对“qt_断言(字符常量*,字符常量*,int)”的未定义引用
collect2:错误:ld返回了1个退出状态
生成[1]:***[../../../bin/moc]错误1
make[1]:离开目录“/home/dmitry/Downloads/qt-everywhere-opensource-src-4.8.5/src/tools/moc”
make:**[sub-moc-make_default-ordered]错误2

无法找出我的配置有什么问题。

问题是我使用bash脚本
$DVSDK/linux devkit/environment setup.sh
来设置DVSDK提供的一些环境变量。当我停止使用它时,Qt构建得很好。

我认为您希望使用Qt 5而不是Qt 4。后者很旧,不灵活,不适合执行此任务。问题是我想使用Qt Gstreamer,但我不知道它在Qt5中的支持情况如何。它肯定比Qt 4中的支持更好。好的,谢谢!那么我将尝试构建Qt5。好的,但是尽管如此,您是否尝试过配置选项?