Qt 编译C++;使用qmake的放大器失败

Qt 编译C++;使用qmake的放大器失败,qt,visual-c++,qmake,c++-amp,Qt,Visual C++,Qmake,C++ Amp,我有以下main.cpp文件: #include <amp.h> using namespace concurrency; int main() { int arr[] = {42}; array_view<int, 1> v(1, arr); return 0; } 如果我从VisualStudio2012命令行编译main.cpp(仅使用cl/EHsc main.cpp),一切都可以正常工作。但是如果我使用qmake和nmake,总是会出现链接错误,即存

我有以下main.cpp文件:

#include <amp.h>
using namespace concurrency;
int main()
{
  int arr[] = {42};
  array_view<int, 1> v(1, arr);
  return 0;
}
如果我从VisualStudio2012命令行编译main.cpp(仅使用cl/EHsc main.cpp),一切都可以正常工作。但是如果我使用qmake和nmake,总是会出现链接错误,即存在未解析的外部符号(来自amp)。有人知道如何解决这个问题吗?

您忘了添加

LIBS += -lname_of_the_amp_lib

很抱歉,我不知道库的名称…

我发现了问题所在:在mkspec文件qmake.conf中,编译器标志
Zc:wchar\u t-
导致编译器错误地将某些类型relatet转换为
wchar\u t
,因此无法解决结果符号

要解决此问题,请将上述.pro文件更改为

TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

QMAKE_CXXFLAGS += -EHsc -Zc:wchar_t
SOURCES += main.cpp

(将-Zc:wchar\u t添加到QMAKE\u cxflags中)。

编译器本身会注意根据所需的导入库进行链接。您应该将答案作为答案,以便它们不会显示在未回答的问题列表中。干杯。嘿,我有一个类似的问题(qt,MSVC++),但我使用的是MSVC++编译器(不是qmake)。我应该把这个修饰语放在哪里?
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt

QMAKE_CXXFLAGS += -EHsc -Zc:wchar_t
SOURCES += main.cpp