【发布时间】:2011-09-09 07:36:40
【问题描述】:
我的问题与这里讨论的问题有关:
Is there a way that OpenMP can operate on Qt spanwed threads?
在尝试在 Mac OS 下运行我的基于 Qt 的程序时,它在辅助线程中有一个 OpenMP 子句,它崩溃了。浏览网页后,现在我了解到这是由 Apple 提供的较旧版本 (4.2) 的 gcc 中的错误引起的。
然后我从http://hpc.sourceforge.net下载了最新的4.6版本的gcc并尝试编译项目,但是我从g++编译器得到以下错误:
无法识别的选项“-arch” 无法识别的选项“-Xarch_x86_64”
我了解到这是因为这些是选项,只能由自定义配置的 Apple-gcc 编译器解释,而不能由标准 gcc 解释。
谁能帮我解决这个问题并配置 g++ 4.6 以与 Qt 一起使用以获得无错误的 OpenMP 支持?我承认我是 Mac OS 平台下编译器和编程方面的新手,并且想从 Visual Studio-Qt 环境中移植我的代码。
非常感谢!
【问题讨论】:
-
你能不能再给我们一点,比如你的配置命令……再多几行错误?
-
嗯,这几乎就是我得到的所有内容,2 个无法识别的选项错误和另一个:'x86-64' 没有这样的文件或目录。这是在尝试编译项目时。我没有使用“配置”,只是在 Qt Creator 的构建设置下创建了一个配置文件以使用 GCC 4.6。使用 Apple-GCC 编译器可以很好地编译。我需要通过 GCC 4.6 编译 Qt 本身吗?
-
-arch 应该在 darwin 的 vanilla GCC 4.6 中,它已记录在案。至于错误,您是否尝试从 qt 构建设置中删除 arch 选项,编译器应该推断出正确的值。
-
这些错误看起来像是来自编译管道的几个不同部分的错误。如果没有脚本中的实际文本,包括记录错误的二进制文件和记录错误以响应的命令行,任何人都很难进一步帮助您。请在您的问题中提供适当的成绩单摘录。将整个脚本(包括您的环境、目录布局和任何配置文件)发布到感兴趣的读者可以查看的异地位置也无妨,但可能有点矫枉过正。