[英]Compiling with clang++ on OSX but cannot include/find header files
我正在嘗試在Matlab上安裝垃圾郵件工具箱,以優化稀疏表示問題。
最初,當我嘗試使用compile.m
腳本進行編譯時,它說:
clang: error: unsupported option '-fopenmp'
error: command 'clang' failed with exit status 1
然后,我找到了這篇文章,我按照下面的說明進行操作,似乎以前的錯誤已修復 。
但是現在,我收到錯誤提示:
...mexArchetypalAnalysis.cpp:32:
./linalg/mexutils.h:15:10:
fatal error: 'typeinfo' file not found
#include <typeinfo>
當我轉到源文件並注釋此行時,它在包含iostream時給了我錯誤:
因此,我可能認為這是有關庫的問題,但是我對C ++或C語言並不熟悉,我需要一些幫助。
最后,我通過執行以下步驟解決了這個問題:
通過homebrew
安裝 gcc編譯器和openmp
支持:
brew install gcc --without-multilib
安裝后, 在命令行中 :
alias gcc=gcc-6
alias clang=gcc-6
alias g++=g++-6
這樣,您可以將cpp編譯器與openmp
支持一起使用。
讓我們運行一個測試程序來檢查openmp
是否正常工作:
#include <stdio.h>
#include <omp.h>
int print(int i){
int tmp = 0;
for(int i=0;i<100000000;i++){
tmp += 1; // time consuming loop
}
printf("%d\t",i);
return i;
}
int main(){
#pragma omp parallel for
for(int i=0; i<10;i++){
print(i);
}
return 0;
}
編譯:
gcc -fopenmp test.cpp -o run
要么
g++ -fopenmp test.cpp -o run
輸出:
0 8 3 6 1 9 4 7 2 5
如您所見,它們沒有按順序打印,這表明openmp
可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.