當前正在使用最新版本的XCode
,即4.6
,並且遇到了啓用OpenMP的麻煩。在構建設置中,我沒有看到「Enable OpenMP Support
」這樣的選項。我正在使用帶有C++ 11支持的Apple LLVM Compiler 4.2
和libc++ LLVM C++
標準庫。任何幫助,將不勝感激..在XCode 4.6中啓用OpenMP支持
回答
在生成設置,我改變 「編譯器爲C/C++/Objective-C的」 到 「LLVM GCC 4.2」
然後,根據 「LLVM GCC 4.2 - 語言」您可以選擇啓用OpenMP。我還沒有測試編譯真正的代碼,但至少「#include」現在可以工作。
更新:我收到了這裏討論的SIGABRT錯誤:[link](https://discussions.apple.com/thread/3786045)。他們聲稱這是LLVM GCC 4.2的錯誤,但也可能是我以某種方式破壞了內存。 – 2013-03-17 00:39:08
我嘗試使用g ++ - mp-4.7從命令行構建我的代碼,並且不再有SIGABRT問題。雖然我仍然不能100%確定我的代碼是正確的,但似乎增加了OpenMP不能在XCode中工作的想法,至少現在是這樣。 LLVM GCC 4.2會讓你編譯它,但你會經常崩潰。 – 2013-03-18 01:18:04
早些時候用戶已經說了一切正確,但他錯過了一件事,這就是他不能包含「omp.h」 的原因,您必須在「庫搜索路徑」選項中提及該庫的路徑。否則,編譯器無法自動找到它。因此,步驟如下:
- 在生成設置,我改變 「編譯器爲C/C++/Objective-C的」 到 「LLVM GCC 4.2」
- 然後,在 「LLVM GCC 4.2 - 語言」您可以選擇啓用OpenMP。
- 在「標題搜索路徑」中,添加「omp.h」文件的位置。
- 現在你做
複製下面的代碼,並享受:
int main(int argc, char **argv) {
omp_set_num_threads(8);
int iter;
int NCOUNT = 100000000;
#pragma omp parallel for
for(iter = 0; iter < NCOUNT; iter++)
{
printf("OMP: Hello World, %d times\n", iter);
}
return 0;
}
注意:對於我的MAC電腦,我找到了 「omp.h」 文件中的「在/ usr/llvm- gcc-4.2/lib/gcc/i686-apple-darwin11/4.2.1/include「,可能會對你的情況有所不同,但我確定它必須位於」/ usr/..「 使用「查找」操作來查找特定文件。請注意,「/ usr」是MAC系統中的隱藏文件夾,因此您必須激活系統才能顯示隱藏的文件和文件夾。
- 1. Xcode 5中的OpenMP支持
- 2. 如何在XCode 7中支持OpenMP
- 3. Xcode 6中的OpenMP支持(clang 3.5)
- 4. LLVM OpenMP支持
- 5. 在Mac OS X中啓用OpenMP支持(塞拉利昂)
- 6. 如何在Makefiles/GCC中啓用OpenMP支持
- 7. OSX上的OpenMP支持10.11
- 8. .NET 4.6在Unity中不完全支持?
- 9. 在Xcode 4.6中使用gcc
- 10. Qt是否支持OpenMP?
- 11. VxWorks是否支持OpenMP?
- 12. OpenACC-OpenMP支持Arm Mali GPU
- 13. Mat :: convertTo不支持OpenMP
- 14. webassembly是否支持openmp?
- 15. 是否可以將C11支持添加到Xcode 4.6?
- 16. 支持在Xcode 5
- 17. 的OpenMP支持iOS/Android的兼容性
- 18. OpenMP不支持循環中斷
- 19. 在Xcode 4.2中的openmp
- 20. 在Xcode 4.6中使用Base SDK iOS 6.0.2
- 21. 不能在xcode 4.6中使用webview
- 22. 如何在xcode 4.6中使用doxygen?
- 23. 如何在圖形工具中禁用OpenMP支持
- 24. Processmaker安裝MySQL支持:undefined,GD支持:未啓用,LDAP支持(*):未啓用
- 25. 用Xcode 8支持Appium
- 26. 如何在LWP中啓用IPv6支持?
- 27. 在VSTS中啓用C#7支持
- 28. 在Komodo中啓用jquery支持編輯
- 29. 如何在Netbeans中啓用PHP支持?
- 30. 在AWS中啓用X-Ray支持Lambda
我不確定自從本問答以來情況有何變化:http://stackoverflow.com/questions/13720234/xcode-4-5-and-openmp-with-clang-apple-llvm-uses-only -one-core – 2013-02-15 15:46:41
這意味着如果情況沒有改變,我將無法使用OpenMP? – 2013-02-15 16:21:16
沒錯,不是Apple提供的LLVM編譯器。其他編譯器可用,其中一些編譯器支持Mac OS X上的OpenMP。 – 2013-02-15 16:29:22