2

Windows アプリケーションからの C lib および dll ファイルがあります。ソースコードはありません。それをIOSアプリケーションで使用することは可能ですか。

さまざまな反応が見られ、混乱しています。ソース コードがある場合は、dylib を作成する必要があると思います。関連するヘッダー ファイルをインクルードした後、同じものを使用できます。

私を正しい方向に導くために、専門家のアイデアを共有してください。あなたの助けに感謝 。

  • ミア
4

4 に答える 4

5

そもそも動的ライブラリは iOS では許可されていませんが、バイナリ形式が異なるため、Darwin や基盤となる XNU カーネルは DLL ファイル形式をまったく認識しません。

Windows API は Darwin OS でも使用できません (Mac OS X と iOS はどちらも、基本的な Darwin OS のラッパーです)。POSIX や Objective-C API を使用するには、DLL からコードを書き直して、それを使用するスタティック ライブラリとしてコンパイルする必要があります。

于 2012-05-10T04:30:56.237 に答える
3

You need to get a iOS compatible library, no other way around it. There are several reasons:

  • iOS doesn't support DLLs as they are windows format, but moreover, you can't use any dynamic library on iOS, as Apple restricts it.
  • DLLs are usually for intel CPUs, while iOS devices have ARM CPUs.
  • Most dlls are calling windows APIs - are you sure this one's not?
于 2012-05-10T04:23:38.237 に答える
1

You are going to have to recompile it as a static library (.a file). Apple doesn't allow dynamic libraries except for their own frameworks (so you can't compile it as a dylib).

于 2012-05-10T04:23:42.197 に答える
1

No. If you all you have is a compiled binary DLL, there is no way to use it on iOS. Unless you happen to have an ARM DLL for the upcoming Windows 8, your DLL contains either x86 or x86-64 machine code (or maybe IA64 if you have a lot of money), which absolutely will not run on iOS devices, which are all ARM architectures. Plus many more reasons.

If you have the source code, you can recompile it for iOS, either directly into your app, as a static library that can be linked in with your app, or as a dynamic library as part of a framework. But in all cases, you need to recompile it from source code using the iOS compiler.

于 2012-05-10T04:24:42.683 に答える