我在我的一个VoIP功能项目中使用idoubs开源.armv6和armv7架构的工作正常.现在我正在更新我的项目以支持iphone 5.我无法在armv7s架构中编译项目(我放弃了armv6架构.在armv7和armv7s架构中编译).我收到了以下错误.
ld:找不到-lsrtp的库
collect2:ld返回1退出状态
请分享您的建议以解决此问题.
注意:
libsrtp.a适用于除armv7s架构之外的所有架构(armv6,armv7和i386).所以我不确定idoubs源代码是否真的更新了
我使用的是最新版本的r221和xcode 4.5.
提前致谢...
在ARMv7-A处理器上,我正在寻找一种从任何模式确定处理器的当前模式(用户,主管,IRQ等)的简单方法。这将使我能够动态决定是否执行某些操作,例如打主管电话或直接执行操作。
乍一看,这似乎很简单。在CPSR含有(M)模式比特,其确定处理器模式。
《 ARMv7-A体系结构参考手册》的修订版Cb的第1150页的B1.3.3节(程序状态寄存器)指出:
该字段只能写入PL1或更高版本。可以在任何模式下读取其值,但是ARM会不赞成在PL0执行的软件使用其值或尝试对其进行更改。
因此,CPSR.M在用户模式下不建议使用这些位,但是应该可以使用。
但是,继续实际使用MRS(我知道的唯一方法)读取CPSR 。ARM 1988年的B9.3.8节(MRS)指出:
在用户模式下执行并访问CPSR的MRS返回CPSR。{E,A,I,F,M}字段的UNKNOWN值。
由于这些字段是未知的,因此似乎没有一种从用户模式读取模式位的方法。是否存在从用户模式读取CPSR的替代方法,或者确定正在执行哪种模式代码的替代方法?
我可能会检测未定义的指令异常,并尝试在用户模式下执行非法指令,但我希望有更好的方法。
我有Android项目(不是ndk).在这个项目中,我正在链接我自己的本机库myLib.so.我编译了我的库:armeabi-v7a和x86.所以在jniLibs文件夹中我有两个文件夹和我的lib:armeabi-v7a,x86.
当用户在Samsung S6上运行我的应用程序时,我有下一个崩溃日志:
> java.lang.UnsatisfiedLinkError:
> dalvik.system.PathClassLoader[DexPathList[[zip file
> "/data/app/com.mycompany.test-2/base.apk"],nativeLibraryDirectories=[/data/app/com.mycompany.test-2/lib/arm64,
> /vendor/lib64, /system/lib64]]]
> couldn't find "myLib.so" at java.lang.Runtime.loadLibrary(Runtime.java:366) at
> java.lang.System.loadLibrary(System.java:989)
Run Code Online (Sandbox Code Playgroud)
这是怎么回事 ?为什么64位设备没有运行我的lib?
我有一些cpp文件,我想编译它,以便在模拟器和iPhone上运行.我想要做的是:
g++ -c file1.cpp file2.cpp -std=c++11
ar rcs libabc.a *.o
Run Code Online (Sandbox Code Playgroud)
这个编译很好但仅适用于x86_64架构.显然......
有没有简单的方法我可以编辑这两行命令,以便为所有架构编译一个库(x86_64 i386 armv7 armv7s arm64)?或者我应该构建一些巨大的脚本来拥有该库?如果是这样?那有没有现成的脚本?
我也尝试使用-arch运行它:
g++ -c file1.cpp file2.cpp -std=c++11 -arch armv7 -arch x86_64
Run Code Online (Sandbox Code Playgroud)
但这些是我得到的一些错误
//----------------- Error 1 -------------------------//
Run Code Online (Sandbox Code Playgroud)
//----------------- Error 2 -------------------------//
Run Code Online (Sandbox Code Playgroud)
//----------------- Error 3 -------------------------//
Run Code Online (Sandbox Code Playgroud)
谢谢!
我的应用程序支持 iOS8.0 及以上版本。我知道从 iOS7 开始它的 arm64 位架构。在这种情况下,我们是否需要为“armv7”和“arm64”切片编译二进制文件?
如果我单独为 arm64 编译,我可以减少我的应用程序大小。这是正确的方法吗?
请帮忙。
请从下面的错误帮助我.
我正在使用第三方框架(libIPhonecharting)处理图形,每个东西在模拟器中工作正常,但是当我尝试构建.app文件以在IPAD设备中安装时,我收到以下错误消息.
忽略文件/Users/xyz/Desktop/xyzIPAD/library/4.0/Release-iphoneos/libIPhoneCharting.a,文件是为归档而构建的,而不是被链接的体系结构(armv6)
体系结构armv6的未定义符号:"_ OBJC_CLASS _ $ _ DTCStroke",引自:DemoLineChart.o中的objc-class-ref"_OBJC_CLASS _ $ _ IPCBar3DChart",引自:DemoBar3DChart.o中的objc-class-ref"_OBJC_CLASS _ $ _ IPCLineChart",引用自:DemoLineChart.o中的objc-class-ref"_ OBJC_CLASS _ $ _ DTCDefaultCategoryDataset",引自:DemoBar3DChart.o中的objc-class-ref,DemoLineChart.o中的objc-class-ref"_DTC_STROKE_CAP_SQUARE",引用自:+ [DemoLineChart(Private) getRenderWithRender:]在DemoLineChart.o"_ OBJC_CLASS _ $ _ IPCTitle"中,引用自:DemoBar3DChart.o中的objc-class-ref,在DemoLineChart.o中的objc-class-ref"_DTC_STROKE_JOIN_BEVEL",引自:+ [DemoLineChart(Private)getRenderWithRender:]在DemoLineChart.o ld:找不到架构armv6的符号collect2:ld返回1退出状态
"文件是为存档而构建的,而不是被链接的架构(armv7s)"
我是否需要等待人们发布新的二进制文件或者我还有一条出路,
我为GoogleAnalytics Restkit提供了这个...
编辑:Restkit的问题解决了他们的最新提交,只需从github拉,
我正在尝试调试用c ++编写的应用程序,该应用程序是为运行linux的基于ARM的处理器编译的.
当应用程序间歇性崩溃时,它会在某个线程停止,我认为该线程是故障所在的位置(分段错误).
我的问题是,我无法识别这个线程是什么.我看到GDB运行时在eclipse中打印了以下内容.
有哪些数字用蓝色加下划线,有没有办法让我以编程方式访问它们,以便我知道在哪里查看代码?

尝试使用CentOS 7设置banana-pi来使用NAS,我遇到了许多我自己编译的软件包.
我想知道armv7架构是否有特别的回购?
%uname -a
Linux bananapi 4.2.3-200.el7.armv7hl #1 SMP Wed Nov 25 18:01:51 EST 2015 armv7l armv7l armv7l GNU/Linux
Run Code Online (Sandbox Code Playgroud) 我正在尝试在项目的构建设置中为库添加特定于体系结构的位置。但是由于某种原因,我在菜单中看不到它们。
我的菜单外观:
菜单的外观
(不完全相同,但是您可以在此图中看到他们如何能够为配置设置选择特定于体系结构的选项。我只能选择特定于操作系统的内容,而不能选择体系结构)
请参阅此页面以获取有关其工作方式的参考。