Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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 qmake on OS X:禁用x86/i386 arch(仅生成x86_64)_Macos_Qt_Makefile_Qmake - Fatal编程技术网

Macos qmake on OS X:禁用x86/i386 arch(仅生成x86_64)

Macos qmake on OS X:禁用x86/i386 arch(仅生成x86_64),macos,qt,makefile,qmake,Macos,Qt,Makefile,Qmake,我试图让qmake生成一个makefile,它不包括CFLAGS/LFLAGS中的-arch i386,但到目前为止我没有成功。我尝试了以下方法: CONFIG-=x86 QMAKE\u CFLAGS-=“-arch i386” 还有一些其他的变化。唯一有效的方法是从mkspecs/features/mac中删除x86.prf,但我认为这不是一个合适的解决方案 当前命令行大致如下所示: qmake -makefile -nocache CONFIG-=release CONFIG+=Debu

我试图让qmake生成一个makefile,它不包括CFLAGS/LFLAGS中的
-arch i386
,但到目前为止我没有成功。我尝试了以下方法:

  • CONFIG-=x86
  • QMAKE\u CFLAGS-=“-arch i386”
还有一些其他的变化。唯一有效的方法是从
mkspecs/features/mac
中删除
x86.prf
,但我认为这不是一个合适的解决方案

当前命令行大致如下所示:

qmake -makefile -nocache CONFIG-=release CONFIG+=Debug CONFIG+=mac 
 CONFIG+=CMDMAKE CONFIG-=x86 CONFIG+=x64 
 QMAKE_MAKEFILE=makefile_mac_Debugx64 QMAKE_LFLAGS="<...>"
 QMAKE_CXXFLAGS="<..>" QMAKE_CFLAGS="<...>" QTVER=4.8.4 project.pro
qmake-makefile-nocache-CONFIG-=release-CONFIG+=Debug-CONFIG+=mac
CONFIG+=CMDMAKE CONFIG-=x86 CONFIG+=x64
QMAKE\u MAKEFILE=MAKEFILE\u mac\u Debugx64 QMAKE\u LFLAGS=“”
QMAKE_cxflags=“”QMAKE_CFLAGS=“”QTVER=4.8.4 project.pro

我相信qmake使用路径中可用的编译器。如果要使用x86_64编译器,请将x86_64编译器的PATH(可能包括LIB和LIBPATH)环境变量更改为可用,然后运行qmake。

我相信qmake使用路径中可用的编译器。如果要使用x86_64编译器,请将x86_64编译器的PATH(可能包括LIB和LIBPATH)环境变量更改为可用,然后运行qmake。

暂定解决方案(需要验证一些东西以确认它,但似乎可行):

1) 仅为x64单独构建Qt,即:

./configure -platform macx-g++42 -arch x64 -debug-and-release <...>
/configure-platform macx-g++42-arch x64-调试和发布
2) 从该生成中使用
qmake
生成x64生成文件

显然,它仍然需要
CONFIG-=x86
,但这似乎足以防止生成的makefiles中出现杂散的
-arch i386

暂定解决方案(需要验证一些东西来确认,但似乎有效):

1) 仅为x64单独构建Qt,即:

./configure -platform macx-g++42 -arch x64 -debug-and-release <...>
/configure-platform macx-g++42-arch x64-调试和发布
2) 从该生成中使用
qmake
生成x64生成文件


显然,它仍然需要
CONFIG-=x86
,但这似乎足以防止生成的makefile中出现错误的
-arch i386

编译器在这两种情况下都是相同的,它可以生成x86和x64二进制文件。编译器在这两种情况下都是相同的,而且它可以生成x86和x64二进制文件
qmake
是在配置阶段生成的,通过复制/符号链接某些文件或修改路径,您可以为新的qmake伪造第二次Qt安装。注意,可能不需要完整的Qt生成
qmake
是在配置阶段构建的,通过复制/符号链接一些文件或修改路径,您可以为新的qmake伪造第二次Qt安装。