我在Windows上使用Visual Studio 2017社区版。我的目标是为移动设备构建一个跨平台的共享c ++库。到目前为止,我使用了相应的c ++开发模板。
设置完所有后,我无法看到如何在编译器中启用openmp。来自Android Studio,将“-fopenmp”添加到编译器标志就足够了。 VS似乎支持此模板gcc 4.9和clang 3.8中的相同编译器。我在“配置属性 - > C / C ++ - >语言”下看到应该有一个选项来启用OpenMP支持,但是在这个模板的情况下,选项不存在。 (我测试了其他提供这种可能性的c ++模板)
即使是编译器标志“-fopenmp”,也会导致openmp的“未定义的引用错误”。随着我的研究越多,我查找了由VS提供的不同工具链,LLVM工具链似乎不包括omp header order prebuilts。
也许有人可以提供帮助,代码通过cmake在android studio中工作。我通过visual studio添加了所有必需的依赖项,并安装了必要的vs包。
编辑: 也许我应该补充一点,我想要构建的平台是ARM和ARM64。
答案 0 :(得分:0)
我解决了这个问题,也许对某人有所帮助。我在已安装的版本中将编译器切换到gcc。问题是我没有在链接器上设置编译器标志-fopenmp。
现在正在建设中,但我仍然不知道为什么clang / llvm无效。