Objective c Xcode的目标Pascal的Cocoa Touch静态库不能包含字符串数组?

Objective c Xcode的目标Pascal的Cocoa Touch静态库不能包含字符串数组?,objective-c,xcode,cocoa,freepascal,Objective C,Xcode,Cocoa,Freepascal,我有一个用Pascal编写的大型程序,我试图将其用作Objective-C项目的编译资源 我已经遵循了来自的步骤 我可以将一些.pas旧文件包括到项目中,但不能包括那些具有字符串数组的文件 这并不意味着编译器不能读取这些包含字符串数组的文件,事实上它正确地创建了资源文件。但是,当在Objective-C项目中测试资源文件时,它会因为i386不兼容问题而崩溃。我试图包含的其中一个文件具有字符串数组,如果我删除这些数组,使用我的资源不会有任何问题。有人能告诉我发生了什么事吗?还有什么其他问题我也会从

我有一个用Pascal编写的大型程序,我试图将其用作Objective-C项目的编译资源

我已经遵循了来自的步骤

我可以将一些.pas旧文件包括到项目中,但不能包括那些具有字符串数组的文件


这并不意味着编译器不能读取这些包含字符串数组的文件,事实上它正确地创建了资源文件。但是,当在Objective-C项目中测试资源文件时,它会因为i386不兼容问题而崩溃。我试图包含的其中一个文件具有字符串数组,如果我删除这些数组,使用我的资源不会有任何问题。有人能告诉我发生了什么事吗?还有什么其他问题我也会从字符串不兼容数组中得到解决。

如果你想得到有用的帮助,你真的需要更具体一些,不要因为i386不兼容问题而崩溃。最好的方法是在bugs.freepascal.org上提交一份bug报告,并提供一个完全可编译的示例来演示问题

为了回答Marco的评论,我不能添加评论,因为我没有stackoverflow帐户:在Mac OS X上使用库时,RTL总是自动初始化,即使您使用的是静态库还是动态库。

我使用的是免费pascal with Objective-C,iPad/iPhone没有问题

您使用的编译开关是什么?这是我的模拟器:

/usr/local/bin/ppc386 -n -l -viwn -a -s -vbr \
-Scghi -Sh  \
-Xs  -g \
-FE. -Mmacpas -ghlttt \
-gw2 -O- \
-CRriot -Cr- -Mobjfpc \
-Fl/Xcode3.2.5/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/lib \
-Fi"some/file.pas" \
-Fi"some/dir/*" \
-Fu"anoter/dir" \
然后将所有.s移动到特定于目标的库搜索路径,如:

cp -v *.s "$/some/dir/your_app/build/your_app.build/Debug-iphonesimulator/your_app.build/DerivedSources-normal/i386/" 

如果没有任何帮助,您可以尝试使用TStringList而不是字符串数组。

可能内部资源系统没有以库形式正确初始化。