我正在为iPhone/iPodTouch编写游戏(使用Cocos2d),我发现了一些奇怪的东西......
我需要检测播放器触摸的屏幕部分以执行某些操作.
例如:
-(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event {
CGPoint touchLocation = [touch locationInView:[touch view]];
//DEBUG
CCLOG(@"Button pressed: X Location: %f",touchLocation.x);
CCLOG(@"Button pressed: Y Location: %f",touchLocation.y);
Run Code Online (Sandbox Code Playgroud)
...当touchLocation.x和touchLocation.y都在一定范围内时,我会做一些事情.
它在模拟器上工作得很好.当我为我的测试设备编译它时,使用armv7架构(优化)它也有效.但是当我使用armv6编译它时,启用了armv7架构(这是应用商店需要的),我注意到代码不再有效.CCLOG向我展示了我为armv6编译时使用的X,Y坐标系统,armv7与我仅为armv7(优化)编译时所使用的不同.
我怎样才能解决这个问题?是在设备上测试时使用armv6,armv7使用的坐标系的唯一方法......(这在模拟器上不起作用)?我无法上传iPhone的应用程序,只能编译为armv7(优化).:(
尝试在基于iOS 6 SDK的Xcode 4.5上构建时出现此错误
复制符号_main在:/Users/nsm/Library/Developer/Xcode/DerivedData/Newsapp-btwcniahgzgkgrbtyloduniznsay/Build/Intermediates/Newsapp.build/Debug-iphonesimulator/Newsapp.build/Objects-normal/i386/main.o/ Users/nsm/Library/Developer/Xcode/DerivedData/Newsapp-btwcniahgzgkgrbtyloduniznsay/Build/Intermediates/Newsapp.build/Debug-iphonesimulator/Newsapp.build/Objects-normal/i386/fmdb.o ld:1个重复符号用于体系结构i386 clang:error :链接器命令失败,退出代码为1(使用-v查看调用)
问题是什么?
我正在尝试从命令行交叉编译ARMv7目标的简单java示例.
我需要为交叉编译添加哪些javac选项?
这是在主机上编译的标准javac命令:
javac -d bin -sourcepath src src/TextPanel.java
Run Code Online (Sandbox Code Playgroud) 我在64位模式(armv7s)的iPhone 5s上编译card.io时遇到了麻烦.它将在模拟器上进行编译.我正在使用Xcode 5.
这是我的错误消息:
Undefined symbols for architecture armv7s:
"_CMSampleBufferGetImageBuffer", referenced from:
-[CardIOVideoFrame process] in libCardIO.a(CardIOVideoFrame.o)
"_CMGetAttachment", referenced from:
-[CardIOVideoStream captureOutput:didOutputSampleBuffer:fromConnection:] in libCardIO.a(CardIOVideoStream.o)
ld: symbol(s) not found for architecture armv7s
Run Code Online (Sandbox Code Playgroud) 我想交叉编译 libsodium 加密库以在 iOS 上使用。具体来说,我想为 armv7、armv7s 和 arm64 编译它,以便它适用于较旧和较新的 iPhone。
我按照 libsodium 网站(https://download.libsodium.org/doc/installation/index.html)上的说明交叉编译它并像这样运行配置脚本:
./configure --host=armv7-apple-darwin
Run Code Online (Sandbox Code Playgroud)
和 armv7s-apple-darwin 和 armv8-apple-darwin 相同(我认为/希望与 arm64 相同,因为不支持 arm64)。然后我做了“make install”,它成功了,没有错误。但是,如果我随后检查了创建的静态库:
lipo -info libsodium.a
Run Code Online (Sandbox Code Playgroud)
它告诉我:
Non-fat file: libsodium.a is architecture: x86_64
Run Code Online (Sandbox Code Playgroud)
对于所有这些。为什么这个静态库是针对 x86_64 架构的,而我针对的是 armv7、armv7s、armv8 架构?难道我做错了什么?