我正在使用mac OSX并尝试从源代码编译二进制文件。
我正在使用的命令是
/Applications/MAMP/bin/php5.3/bin/phpize CFLAGS='-O2 -arch i386 -arch ppc -g -Os' LDFLAGS='-O2 -arch i386 -arch ppc ' CXXFLAGS='-O2 -arch i386 -arch ppc -g -Os'
./configure --disable-dependancy-tracking --disable-shared -enable-static
make
make install
我之前尝试过还包括其他一些标志
-arch x86_64
和
--with-php-config="/Applications/MAMP/bin/php5.3/bin/php-config"
但每次检查编译文件时它都会告诉我它是x86_64包。
我错过了什么?
答案 0 :(得分:2)
尝试在标志中添加-m32。我怀疑优化标志在这里有所作为。
来自gcc手册:
-m32 -m64
为32位或64位环境生成代码。 32位 环境设置int,long和指向32位的指针并生成代码 在任何i386系统上运行。 64位环境设置 int到 32位和长指针指向64位并生成代码 对于 AMD的x86-64架构。对于darwin,只有-m64选项变为 关闭-fno-pic和-mdynamic-no-pic选项。
答案 1 :(得分:2)
随机猜测,可能不正确。请尝试设置CC
。
CC="gcc -m32"
编辑:
我的建议的原因是我不知道CFLAGS在您的构建中是否始终受到尊重。
答案 2 :(得分:1)
配置完成后,我编辑了Makefile并更改了以下内容:
CC = cc 至 CC = cc -m32
瞧。