OSX 10.5.8无法为arch i386编译

时间:2015-12-17 16:50:39

标签: c macos gcc

我知道这是一个奇怪的问题,因为解决方案是转移到更新的操作系统,但我想为这台旧机器再生一次。

这是一款带有Dual 2 Core的macboolAir,应该是64位处理器,但据报道是i386 arch。我用gcc 9(4.0.1)安装了Xcore 3.1.4。

现在,如果我尝试编译应用程序,我会在10.6机器上遇到错误:

为了查看原因,我已经将gcc的每个选项都排除在外,这就是结果:

mc-book-air:squeezelite-r2 macbookair$ i686-apple-darwin9-gcc-4.0.1 output_pa.c -c -o output_pa
In file included from /System/Library/Frameworks/IOKit.framework/Headers/IOKitLib.h:41,
                 from /System/Library/Frameworks/DiskArbitration.framework/Headers/DADisk.h:28,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Files.h:62,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/Components.h:32,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Headers/CarbonCore.h:85,
                 from /System/Library/Frameworks/CoreServices.framework/Frameworks/AE.framework/Headers/AE.h:20,
                 from /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:21,
                 from /System/Library/Frameworks/AudioUnit.framework/Headers/AUComponent.h:21,
                 from /System/Library/Frameworks/AudioUnit.framework/Headers/AudioUnit.h:22,
                 from /usr/local/include/pa_mac_core.h:48,
                 from output_pa.c:29:
/usr/include/mach/mach_types.h:117: error: conflicting types for 'pthread_t'
/usr/include/sys/types.h:350: error: previous declaration of 'pthread_t' was here
/usr/include/mach/mach_types.h:177: error: syntax error before 'thread_port_array_t'
output_pa.c: In function '_pa_open':
output_pa.c:290: warning: passing argument 1 of 'pthread_create' from incompatible pointer type

output_pa.c包含:

#include "squeezelite.h"
#if PORTAUDIO
#include <portaudio.h>
#if OSX
#include <pa_mac_core.h>
#endif

其中portaudio.h和pa_mac_core.h是在同一系统中编译的libportaudio.a的头文件,其中包含i386,x86_64,ppc和ppc64 archs。

squeezelite.h是'main'应用程序头,包含:

#include <pthread.h>

我很困惑。我应该寻找什么?

谢谢,Marco。

0 个答案:

没有答案