linux交叉编译的库在链接时提示uses VFP register arguments 20C

arm-none-linux-gnueabi-g++ -Wl,-O1 -Wl,-rpath,/opt/Qt-5.3.2/armv7-a/lib -o qtmeeting main.o mainwindow.o moc_mainwindow.o -L/mnt/hgfs/code/project/meeting/qtmeeting/lib/ -lwebrtc -L/opt/Qt-5.3.2/armv7-a/lib -lQt5Widgets -lQt5Gui -lQt5Core -lpthread
/usr/local/arm-2014.05/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/../../../../arm-none-linux-gnueabi/bin/ld: error: /mnt/hgfs/code/project/meeting/qtmeeting/lib//libwebrtc.a(new.o) uses VFP register arguments, qtmeeting does not
/usr/local/arm-2014.05/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/../../../../arm-none-linux-gnueabi/bin/ld: failed to merge target specific data of file /mnt/hgfs/code/project/meeting/qtmeeting/lib//libwebrtc.a(new.o)
/usr/local/arm-2014.05/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/../../../../arm-none-linux-gnueabi/bin/ld: error: /mnt/hgfs/code/project/meeting/qtmeeting/lib//libwebrtc.a(cxa_exception.o) uses VFP register arguments, qtmeeting does not
/usr/local/arm-2014.05/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/../../../../arm-none-linux-gnueabi/bin/ld: failed to merge target specific data of file /mnt/hgfs/code/project/meeting/qtmeeting/lib//libwebrtc.a(cxa_exception.o)
/usr/local/arm-2014.05/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/../../../../arm-none-linux-gnueabi/bin/ld: error: /mnt/hgfs/code/project/meeting/qtmeeting/lib//libwebrtc.a(cxa_exception_storage.o) uses VFP register arguments, qtmeeting does not
/usr/local/arm-2014.05/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/../../../../arm-none-linux-gnueabi/bin/ld: failed to merge target specific data of file /mnt/hgfs/code/project/meeting/qtmeeting/lib//libwebrtc.a(cxa_exception_storage.o)

3个回答

1.更换编译器版本,2.源文件把-mfloat-abi=hard参数修改成-mfloat-abi=softfp重新编译库

1.右键单击工程->properties->C/C++build->Setting->ARM v7 gcc compiler->Miscellaneous 把-mfloat-abi的值改成softfp;

2........................................................................................->ARM v7 gcc linker->Miscellaneous 把-mfloat-abi的值改成softfp;

3.在工程bsp包里同样把-mfloat-abi的值改成softfp。

huangcd0144
huangcd0144 linux平台而且Makefile设置-mfloat-abi=softfp或hard一样报错
一年多之前 回复

总算遇到能回答的问题了
假设测试程序为 test.c。
硬浮点交叉编译:
arm-linux-gcc -march=armv7-a -mfpu=neon -mfloat-abi=hard -o test test.c
求20分

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Linux交叉编译链的制作
在一遍学习韦东山老师的u-boot, Linux kernel移植和制作根文件系统的视频教程后,自己试着移植可支持单板的最新版,其中对应版本号如下: u-boot: 2016.11(Last version to support S3C2440) Linux kernel: 4.15.2 4.16.1(same way) Busybox: 1.28.1 其中使用的交叉编译链为arm-li...
linux 链接时coreDump
单独编译so的时候正常,但是在ld的时候出现coreDump信息,如下:rncollect2: error: ld terminated with signal 6 [Aborted], core dumpedrn** Error in `/opt/sdk/toolchain/arm-2014.11/arm-linux-gnueabihf/bin/ld': free(): invalid size: 0x000000004c1b1d70 ***rnrn求助各位。rn
Linux 交叉编译 libcurl 库
1.安装交叉编译工具 2. export 编译环境 例如: export PATH=/home/yexiang/ali/ali_toolchain/ali_mips_4.8.3/bin:$PATH 3. 到源码目录下 export CC='mips-linux-gnu-gcc -mips32 -EL' export CXX='mips-linux-gnu-g++ -mips32 -EL...
linux交叉编译链工具分类
arm-none-linux-gnueabi- arm:芯片架构,即运行平台,例如:arm、mips、x86等; none:编译链提供商,若是开源的,该段为none; linux:对应的操作系统内核,例如:linux,windows等; gnueabi:表示使用GNU的嵌入式标准接口。 arm-linux-一般是arm-none-linux-gnueabi-的软连接。 arm-none...
linux 下交叉编译链环境的搭建
前段时间由于搞平台的移植,搞了很头疼的一段时间,终于搞明白移植与如何编译开源代码,因此今天有空写下文档,共同学习学习。行了,废话不多说直接开始。 1、首先linux下编译链的搭建       在网上下载开源的编译链之后,直接建议放到Linux下/opt/目录下比较好,编译链主要是根据厂商的cpu不同下载相对应的编译链,目前以TI的芯片为主,因此可直接在TI官网上下载对应的芯片编译链。 TI官
Linux环境下交叉编译 GmSSL库
1. Github下载GmSSL 2. 编译本机平台的库(参考README.md)     $ ./config     $ make     $ sudo make install 3. 交叉编译(参考Configure)     $ ./Configure --cross-compile-prefix arm-linux- (注:此处的arm-linux-是我使用的交叉编译,请根据实际需...
链接时,提示友元函数有问题
我用VC2003编译下面这段代码时,老师提示链接错误,错误信息如下:rnclass std::basic_ostream > & __cdecl operator<<(class std::basic_ostream > &,class Array &)" (??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@AAV?$Array@H@@@Z) ,该符号在函数 _main 中被引用rnDebug/19.3.exe : fatal error LNK1120: 1 个无法解析的外部命令rnrn代码如下:rn// 19.3.cpp : 定义控制台应用程序的入口点。rn//rnrn#include "stdafx.h"rn#include rnusing namespace std;rnrnrnconst int DefaultSize = 10;rnrn//declare a simple Animal class so that we canrn//create an array of animalsrnrnclass Animalrnrnpublic:rn Animal(int);rn Animal();rn ~Animal()rn int GetWeight() const return itsWeight; rn void Display() const cout << itsWeight; rnprivate:rn int itsWeight;rn;rnrnAnimal::Animal(int weight):rnitsWeight(weight)rnrnrnAnimal::Animal():rnitsWeight(0)rnrntemplate //declare the template and the parameterrnclass Array // the class being parameterizedrnrnpublic:rn //constructorsrn Array(int itsSize = DefaultSize);rn Array(const Array &rhs);rn ~Array() delete [] pType; rnrn //operatorsrn Array& operator=(const Array&);rn T& operator[](int offSet) return pType[offSet];rn const T& operator[] (int offSet) constrn return pType[offSet]; rn //accessorsrn int GetSize() const return itsSize;rnrn //friend functionrn friend ostream& operator << (ostream&,Array&);rnrnprivate:rn T *pType;rn int itsSize;rn;rnrn//friend function.Not a template,can only be usedrn//with int arrays! Intrudes into private data.rntemplate rnostream& operator<< (ostream& output,Array& theArray)rnrn for (int i=0;irnArray::Array(int size):rnitsSize(size)rnrn pType = new T[size];rn for (int i=0;irnArray::Array(const Array &rhs)rnrn itsSize = rhs.GetSize();rn pType = new T[itsSize];rn for (int i=0;irnArray& Array::operator=(const Array &rhs)rnrn if (this == &rhs)rn return *this;rn delete [] pType;rn itsSize = rhs.GetSize();rn pType = new T[itsSize];rn for (int i=0;i theArray;rnrn while(!Stop)rn rn cout << "Enter an offset(0-9) ";rn cout << "and a value.(-1 to stop): ";rn cin >> offset >> value;rnrn if (offset<0)rn break;rn if (offset>9)rn rn cout << "***Please use values between 0 and 9.***\n";rn continue;rn rnrn theArray[offset] = value;rn rnrn cout << "\nHere's the entire array:\n";rn cout << theArray << endl;rn return 0;rnrnrn
VC链接时提示找不到动态库的函数.
情况是这样的:rn 1-我创建了一个动态库按照 extern "C" + __cdecl的组合通过export方式导出,目的是使导出接口名没有任何改编.达到目的.rn 2-但是在使用的时候遇到问题,使用时通过extern "C" + __cdecl的方式导入,链接是提示error LNK2001: unresolved external symbol _AddCounter.rn 查阅资料证实,这种情况是正确的.在c编译和c调用约定下就是在函数名前加个下划线.但是这样与导出的接口名就不一致了.不知道我查的资料对不对,这样的话不合理啊.rn请问这个该如何解决?rnrnrnrnrnrn
为啥链接时,总是提示超时呢?
rnC:\>sqlplus /nologrnrnSQL*Plus: Release 11.1.0.6.0 - Production on 星期五 9月 17 21:17:57 2010rnrnCopyright (c) 1982, 2007, Oracle. All rights reserved.rnrnSQL> connectrn请输入用户名: sysrn输入口令:rnERROR:rnORA-12170: TNS: 连接超时rnrnrnSQL>connectrn请输入用户名: sys as sysdbarn输入口令:rnERROR:rnORA-12170: TNS: 连接超时rnrnrn 都不行啊,,咋会事呢?rn rnrn 为啥在 DOS 下就不可呢?rnrn 而在URL 里输入 xxx/EM 后rn 以 SYS 登陆rn 并在 SQL WORKSHEET 下, 试了几个 SQL的句子,没问题。。rn rn
MASM32链接时提示入口点未定义
如图rn[img=C:\2.png][/img]rn还有那句警告是什么意思,谢谢。
主机Linux的交叉编译链生成、安装、配置
Linux发行版缺乏一些开发用的工具、文件,例如标准C库的头文件、g++编译器等。1 . 使用以下命令安装基本的开发环境$ sudo apt-get install build-essential还需要安装bison、flex,它们分别是语法、词法分析器:$ sudo apt-get install bison flex安装C函数库的man手册,以后就可以通过类似”man read”命令查看函数的用
备份一下手工书写Android JNI工程时mk的模板,以及uses VFP register arguments, output does not问题
Android JNI开发,手工建立MK模板: Application.mk APP_ABI := armeabi-v7a APP_STL := gnustl_static APP_CPPFLAGS := -frtti -fexceptions -std=c++11 APP_PLATFORM := android-15 Android.mk LOCAL_PATH :
制作S3C6410 的交叉编译链
在主目录下创建以下目录,crosstool-ng_build (用于保存使用crosstool-ng这个工具时所下载的源码文件,解压后的源码,以及编译日志等) crosstool-ng_install (用于安装crosstool-ng这个工具的目录) S3C6410/src (用于保存下载的源码) S3C5410/toolchain
crosstool-ng-1.23.0交叉编译链制作
crosstool-ng-1.23.0交叉编译链制作一.准备crosstool-ng-1.23.01.      crosstool-ng的下载地址是http://ymorin.is-a-geek.org/download/crosstool-ng/下载交叉编译链源文件crosstool-ng-1.23.02.      编译安装 ./configure –prefix=/home/cross...
交叉编译链环境配置
来源:1、自己制作  2、下载别人编译好的 1、自己制作 下载crosstool,根据crosstool官网进行配置 2、下载已有编译链,如:arm-linux-gcc-3.4.5-glibc-2.3.6.tar来源于韦某教程的文件 arm-linux-gcc-3.4.5-glibc-2.3.6.tar解压后在其bin目录下有arm-linux-gcc、arm-linux-ld、arm-l
树莓派openwrt交叉编译链
树莓派openwrt交叉编译链
mips-linux交叉编译链
在制作mips-linux交叉编译链时,刚刚弄了make ARCH=mips CROSS_COMPILE=$TARGET-,发现内核源码include目录下无asm目录,只有asm-generic目录,那位大虾能指点下??
创建CubieBoard2交叉编译链
1、安装交叉编译器     sudo apt-get install gcc-arm-linux-gnueabihf       安装成功后,输入:arm-linux-gnueabihf-gcc -v,显示如下图:   由此可见,gcc的版本为Version 5.4.0。 2、获取CubieBoard2的内核源码     可以使用命令:git clone http
ubuntu配置交叉编译链
lsb-coresudo apt install lsb-core解决问题
xilinx-arm-linux交叉编译链安装
首先,说明为什么要装xilinx-arm-linux编译链,因为要使用Xilinx的Zedboard开发:需要在Linux系统上面,使用xilinx-arm-linux交叉编译链,编译C文件,将编译后的文件拷贝到Zedboard即可。安装步骤如下:1、进入Ubuntu/Centos系统,在终端输入sudo passwd root,会要求输入用户密码,然后重置root的密码,重置完后输入su roo...
在linux下安装交叉编译链
因为在/mnt/目录下找不到winshare共享文件夹,所以我采用u盘来拷贝交叉编译链压缩文件 linux中装软件的特点 linux中安装软件比windows中复杂。linux中安装软件一般有以下几种方法: 第一种:在线安装。譬如ubuntu中使用apt-get install vim来安装vim软件。 第二种:自己下载安装包来安装。这种方式的缺陷就是你不知道你下载的
简图记录-交叉编译链
简图记录学习~ 交叉编译工具链 就是在一个平台如你个人的Windows PC,编译在另一个平台如基于ARM芯片的嵌入式linux环境可执行代码,所用到的工具集合。 主要包含用于编译如gcc、查看分析工具集binutils(包含地址定位addr2line、支持反汇编objdump,文件瘦身strip等)、和C库如glibc 对于gcc,必须了解他的编译指令(预处理 编译 汇编 链接),
安装交叉编译链
Ubuntu 安装交叉编译链
arm-linux-gcc交叉编译链安装
1、下载相应的工具包我们需要下载相应的安装包:gcc交叉编译链安装下载地址 把下好的包放到共享文件夹,再复制到Ubuntu系统中,一般地:我们放在/usr/local/arm下,然后输入下面代码解压:tar -jxvf arm-2009q3.tar.bz22、运行进入:/usr/local/arm/arm-2009q3/bin目录下,输入:./arm-none-linux-gnueabi-gcc
arm 交叉编译链的配置问题
初学arm,制作交叉编译链 /home/ok6410/crosstool/crosstool-install/bin/ct-ng build 此步骤老是出错:rn[ERROR] >> called from: do_debug_gdb_build[scripts/build/debug/300-gdb.sh@177]rn[ERROR] >> called from: do_debug[scripts/build/debug.sh@35]rn[ERROR] >> called from: main[scripts/crosstool-NG.sh@612]rn[ERROR] >>rn[ERROR] >> For more info on this error, look at the file: 'build.log'rn[ERROR] >> There is a list of known issues, some with workarounds, in:rn[ERROR] >> '/home/sdust/crosstool/crosstool-install/share/doc/crosstool-ng/ct-ng.1.17.0/B - Known issues.txt'rn[ERROR] rn[ERROR] (elapsed: 62:51.22)rn[62:52] / make: *** [build] 错误 2rn求大神指点,,先谢过!!!
类成员在链接时找不到
首先是一个singleton模板基类,有个类成员装有实例的地址:rn[code=C/C++]rn#ifndef SINGLETON_Hrn#define SINGLETON_Hrnrntemplate class Singleton rnpublic:rn rn static T* instance;rn rn static T& getInstance()rn rn return *instance;rn rn rn static T* getInstancePtr()rn rn return instance;rn rnrn Singleton()rn rn instance = static_cast (this);rn rn rnprotected:rn Singleton(const Singleton&);rn Singleton& operator=(const Singleton &);rn rn rn;rnrn#endif // SINGLETON_Hrn[/code]rnrn然后一个简单的FooBar类rn[code=C/C++]rn#include "singleton.h"rnrnclass FooBar: public Singletonrnrnpublic:rn FooBar():foo(1),bar(2) rn int foo;rn int bar;rn;rnrnFooBar obj();rnrnint main() rn FooBar::getInstance();rnrn[/code]rn主程序的代码编译可以过,但链接时提示找不到“Singleton::instance”这个东西。我应当怎样做?
MFC程序链接时的问题
在一个单文档应用程序中,有一个检查编辑框中输入的是否是数字的函数bool IsValidNumber(CString strNum),因为在程序中要多次调用,我就把它放在一个头文件中,然后链接时有错误:rnLinking...rnPointNNQueryDlg.obj : error LNK2005: "bool __cdecl IsValidNumber(class CString)" (?IsValidNumber@@YA_NVCString@@@Z) already defined in DynamicBuildIdxDlg.objrnRecordFileQueryDlg.obj : error LNK2005: "bool __cdecl IsValidNumber(class CString)" (?IsValidNumber@@YA_NVCString@@@Z) already defined in DynamicBuildIdxDlg.objrn¿Õ¼ä¾ÛÀàºÍÒì³£µã¼ì²â×Óϵͳ.exe : fatal error LNK1169: one or more multiply defined symbols foundrnError executing link.exe.rnrn如果我不换成类来实现IsValidNumber,还继续用函数,改怎么解决或者设置???
linux进程间通信之消息队列
未完待续!
proc链接时报错
proc链接时报错:rnc++ -o rtmain rtmain.o -L/export/home/guotao/sms/lib -L/opt/sfw/lib -L/usr/lib -L/u01/app/oracle/product/8.1.7/lib librtoracle.a -L-lm -lsocket -ldl -lnsl -lxml8 -lcore8 -lnls8 -lclient8rnUndefined first referencedrn symbol in filernsqlnul librtoracle.a(query.o)rnsqlald librtoracle.a(query.o)rnsqlprc librtoracle.a(query.o)rnsqlclu librtoracle.a(query.o)rnsqlcxt librtoracle.a(query.o)rnld: fatal: Symbol referencing errors. No output written to rtmainrncollect2: ld returned 1 exit statusrn*** Error code 1rnmake: Fatal error: Command failed for target `rtmain'rn其中librtoracle.a是我写的库文件。rnrn环境变量rnLD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/usr/ccs/lib:/opt/sfw/lib:/u01/app/oracle/product/8.1.7/lib:/u01/app/oracle/product/8.1.7/precomp/lib:/u01/app/oracle/product/8.1.7/network/lib:/u01/app/oracle/product/8.1.7/rdbms/librnrn为什么还会出此错误?
在与mysql链接时出错!
Warning: MySQL Connection Failed: Can't create TCP/IP socket (10041) in E:\weisi\yy\head.php on line 190rnrn什么意思?rn
为什么链接时报错?
源程序如下:rn------------------------------------------------------------rn.alpharnextern PntMsg: farrnzseg segment word public 'data' rn szErr db 'This a called function', '$'rnzseg endsrnrnsseg segment dword stack rn db 100h DUP(?) rnsseg endsrnrnzseg segment word public 'data'rn szMsg db 'Hellow Worldfgsdgsxvgd!',13, 10, '$'rnzseg ends rn rncseg segment rn assume cs:cseg, ds:zseg, ss:ssegrnstart:rn mov ax, zsegrn mov ds, axrn rn lea dx, szMsgrn mov ah, 9rn int 21hrn rn call PntMsgrn rn mov ah, 1rn int 21hrn mov ax, 4C00hrn int 21hrncseg endsrn end startrnrn;.alpharnpublic PntMsgrnsseg segment dword stack ;'stack' rn db 100h DUP(?) rnsseg endsrnzseg segment word private 'dqata' rn szErr db 'This a called function', '$'rnzseg ends rnccseg segment rn assume cs:ccseg, ds:zsegrnPntMsg proc farrn mov ax, zsegrn mov ds, axrn rn lea dx, szErrrn mov ah, 9rn int 21hrn retfrnPntMsg endprnccseg endsrn end PntMsgrn---------------------------------------------------rn链接时报错:error L2029: 'PNTMSG' : unresolved external。rn这是怎么回事?
链接时的一个错误!
错误信息:rnUnable open file "coc.obj"rn请问,一般这是由什么造成的?如何解决?
链接时的问题(谢谢)
就是把web页的滚动条拉到最下边,点击一个链接,又自动返回到页面顶端,我不想让它自动返回,怎么解决这个问题^_^
Mysql8链接时时区
jdbc:mysql://root:password@127.0.0.1:3306/leopard?useUnicode=true&amp;amp;characterEncoding=UTF8&amp;amp;useSSL=false&amp;amp;serverTimezone=Asia/Shanghai
c++链接时的问题??
我用win32 application编写的程序,关闭又打开出现了问题,链接时出现:rnLinking...rnLIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _mainrnDebug/6.exe : fatal error LNK1120: 1 unresolved externalsrnError executing link.exe.
简单程序链接时报错
rnrn很奇怪,我写了一个Hello world!程序链接时老是报错。我也不知道是为什么!还请指教一下!呵呵!rnrnLinking...rnLINK : fatal error LNK1168: cannot open Debug/TEST.exe for writingrn执行 link.exe 时出错.rnrnTEST.exe - 1 error(s), 0 warning(s)rnrn
MFC 链接时出现问题
链接时,程序会卡在linking...一直不动,出现得很频繁。rn程序没有错误,重新打开后再Build也没有问题,这是怎么回事啊?
dll链接时出错
我自己做了一个dll 但在链接的时候出错:rn我是用project->references中的browse去找到这个dll但是rn他会报can't add a reference to the specified file rn请问这是什么问题?rn是dll的问题rn还程序的问题???rn我把dll去注册的时候也注册不了rn我的dll只是提供两个函数布局其它都不做(用到wsock32.lib)rn谢谢了!
svn链接时报错
昨天eclipse  svn插件还是好好的,今天突然间不好使了。各种更改eclipse  工作空间等等。就是一直搞不明白问题所在。后来灵光一闪,想到可能跟无线有线有关。以前都是链接的有线,昨天换了无线。果断抱着电脑链接上有线,问题解决了。后来请教小伙伴们,小伙伴又提供了一个方案。 方案一:  找个网线  用有线链接 方案二:C:\WINDOWS\system32\drivers\etc找到 H
关于链接时的-lCstd
为什么workshop6.0所带的CC,编译动态库时,如果动态库使用了iostream,就需要在链接时加入-lCstd,否则别人调这个动态库就会报无法找到函数(但是动态库本身编译链接都没问题)rnrn但是编译成可执行文件,使用iostream就不用加-lCstdrnrnrnrn而Sun Studio 11所带的CC,不管是动态库和可执行文件,都不用加-lCstd
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview