我想知道在运行时是否有某种方法可以读取QT项目的.pro文件中定义的变量.我想尝试编译cuda,只针对一个架构(Sm_21),我想决定运行时使用具有该功能的cuda设备.
.pro文件:
QT += core gui opengl
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = hello-opengl
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
glwidget.cpp \
HEADERS += mainwindow.h \
glwidget.h \
FORMS += mainwindow.ui
CUDA_ARCH = sm_21 # Type of CUDA architecture
Run Code Online (Sandbox Code Playgroud)
我想在我的.cpp中使用这个CUDA_ARCH变量.例如
if (CUDA_ARCH == sm_21)
then pick device 0
else
pick device 1
Run Code Online (Sandbox Code Playgroud)
非常感谢你!
您可以使用
DEFINES += CUDA_ARCH_SM_21
Run Code Online (Sandbox Code Playgroud)
并在代码中询问
#ifdef CUDA_ARCH_SM_21
Run Code Online (Sandbox Code Playgroud)
我不认为可以在.pro文件中直接创建"全局"变量.但您可以在#ifdef块中设置全局变量CUDA_ARCH
#define CA_SM_21 0
#define CA_SM_OTHER 1
#ifdef CUDA_ARCH_SM_21
int CUDA_ARCH = CA_SM_21
#elseif
int CUDA_ARCH = CA_SM_OTHER
#endif
if(CUDA_ARCH == CA_SM_21)...
Run Code Online (Sandbox Code Playgroud)