Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos ICL、OS X.4/5和Unix合规性($UNIX2003)_Macos_Unix_Intel_Standards Compliance - Fatal编程技术网

Macos ICL、OS X.4/5和Unix合规性($UNIX2003)

Macos ICL、OS X.4/5和Unix合规性($UNIX2003),macos,unix,intel,standards-compliance,Macos,Unix,Intel,Standards Compliance,我正试图为一位希望将其包含在Photoshop插件中的客户编译我们的库的Mac版本,但他在将我们的库链接到他的应用程序时遇到了问题。更详细的信息:他的插件是针对CS4PhotoshopSDK构建的,这意味着MacOSBaseSDK应该是10.4。我的库是一个静态库,使用英特尔编译器11.1编译,基本SDK也设置为10.4 我用我编写的一个小测试应用程序测试了我的lib,它可以编译并运行良好(10.5版)。为了复制我客户的环境,应用程序使用gcc编译,并使用10.4基本SDK。虽然这对我来说很好,

我正试图为一位希望将其包含在Photoshop插件中的客户编译我们的库的Mac版本,但他在将我们的库链接到他的应用程序时遇到了问题。更详细的信息:他的插件是针对CS4PhotoshopSDK构建的,这意味着MacOSBaseSDK应该是10.4。我的库是一个静态库,使用英特尔编译器11.1编译,基本SDK也设置为10.4

我用我编写的一个小测试应用程序测试了我的lib,它可以编译并运行良好(10.5版)。为了复制我客户的环境,应用程序使用gcc编译,并使用10.4基本SDK。虽然这对我来说很好,但我的客户无法与我的lib链接。问题如下:未定义的符号: “\u fputs$UNIX2003”,引用自: _在libMyLib.a中写入消息(libm_error.o)

当我用gcc编译我的lib,并且所有其他项目设置都相同时,很好,他可以生成一个可执行文件。我一用ICL编译,它就崩溃了。是否ICL 11.1与10.4不兼容?在Fortran编译器论坛上,我找到了以下答案:“从提供的输出来看,Xcode默认为Mac OS X 10.4,这是11.1编译器不支持的。”() 这是否意味着ICL11.1不能在10.4上运行,或者它生成的代码不能在10.4上运行

在下一页(),它还说ICL11.1与10.4不兼容(同样的问题:兼容性意味着什么?)。然而,它说ICL10.1是,所以我尝试了。但现在,出于同样的原因,即使是我自己的测试应用程序也没有链接(未定义的函数$UNIX2003)

有人知道问题出在哪里,以及如何解决吗?还是一种解决方法

提前感谢,

A

注:如果有人知道这一点的含义,则可获得额外积分:
ld:在可滑动图像中不允许使用libMyLib.a(Cholesky.o)中的_Cholesky中使用的绝对寻址(可能是-mdynamic no pic)。使用“-read_only_relocs suppress”来启用文本relocs

最终,您需要从Intel获得Intel产品支持,但如果您想销售实际工作的Mac软件,则您可能应该使用与其他人相同的工具链,并且忘记它

最终,您需要从英特尔获得英特尔产品支持,但如果您想销售真正有效的Mac软件,那么您可能应该使用与其他人相同的工具链,而不必考虑它

所以答案是:用ICL10.1而不是11.1编译。10.1使用的所有英特尔LIB都不包含对$UNIX2003例程的引用

希望它能帮助别人


答案是:用ICL10.1而不是11.1编译。10.1使用的所有英特尔LIB都不包含对$UNIX2003例程的引用

希望它能帮助别人


A

谢谢你的回答。但使用英特尔意味着性能将提高4倍。如果你问我,这是值得的。似乎这意味着如果它不起作用,性能会下降100%。谢谢你的回答。但使用英特尔意味着性能将提高4倍。如果你问我,这是值得的。似乎这意味着如果它不起作用,性能会下降100%。