Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ scorep qt error未定义对'POMP2_Assign_handle';_C++_Qt_Linker - Fatal编程技术网

C++ scorep qt error未定义对'POMP2_Assign_handle';

C++ scorep qt error未定义对'POMP2_Assign_handle';,c++,qt,linker,C++,Qt,Linker,正在尝试将最简单的OpenMP QT项目与score-p连接: #include <QTextStream> #include <QDateTime> #include <QProcess> #include <QFile> #include <omp.h> int main() { omp_set_num_threads(200); #pragma omp parallel for for(int i = 0

正在尝试将最简单的OpenMP QT项目与score-p连接:

#include <QTextStream>
#include <QDateTime>
#include <QProcess>
#include <QFile>
#include <omp.h>

int main()
{
    omp_set_num_threads(200);
    #pragma omp parallel for
    for(int i = 0; i < 200; i ++)
    {
        QFile file(QString("test_file_%1").arg(i));
        if(file.open(QIODevice::Append))
        {
                QTextStream stream(&file);
                stream << QDateTime::currentDateTime().toString(Qt::ISODate) + "\n";
                file.close();
        }
    }
}
和阴极连接错误:

/home/monika/scorep/bin/scorep g++ -c -m64 -pipe -g -fopenmp -O2 -g -pipe -Wall -Wp,-       D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -I/usr/lib64/qt4/mkspecs/linux-g++-64 -I../test-scorep -I/usr/include/QtCore -I/usr/include -I../../scorep/include/opari2 -I. -I../test-scorep -I. -o main.o ../test-scorep/main.cpp
/home/monika/scorep/bin/scorep g++ -m64 -Wl,-O1 -o test-scorep main.o     -lgomp -lQtCore -lpthread  
main.o: In function `POMP2_Init_reg_bl9o0ezmjm8_1':
/home/monika/test/build-test-scorep-Desktop-Release/main.prep.cpp.opari.inc:15:     undefined reference to `POMP2_Assign_handle'
main.o: In function `main.omp_fn.0':
/home/monika/test/test-scorep/main.cpp:10: undefined reference to `pomp_tpd_'
/home/monika/test/test-scorep/main.cpp:11: undefined reference to `POMP2_Parallel_begin'
/home/monika/test/test-scorep/main.cpp:12: undefined reference to `POMP2_For_enter'
/home/monika/test/test-scorep/main.cpp:22: undefined reference to `POMP2_Implicit_barrier_enter'
/home/monika/test/test-scorep/main.cpp:24: undefined reference to `POMP2_Implicit_barrier_exit'
/home/monika/test/test-scorep/main.cpp:25: undefined reference to `POMP2_For_exit'
/home/monika/test/test-scorep/main.cpp:27: undefined reference to `POMP2_Parallel_end'
main.o: In function `main':
/home/monika/test/test-scorep/main.cpp:14: undefined reference to `POMP2_Parallel_fork'
/home/monika/test/test-scorep/main.cpp:10: undefined reference to `pomp_tpd_'
/home/monika/test/test-scorep/main.cpp:28: undefined reference to `POMP2_Parallel_join'
如果我编译简单项目(只有一个文件),如:

一切正常(也得p分)。如果我将QMAKE_CXX或QMAKE_LINK更改为默认(g++),构建将很好,但score-P将不起作用。
我试图包含pomp2_lib.h(其中包含来自无根据列表的函数),但仍然没有结果(没有任何更改)。

QMAKE_LIBS+=-lgomp-lpthread
替换为
LIBS+=-lgomp-lpthread
。另外,如果它不在标准库位置,也可以使用-L/path/to/gomp。事实上,我不知道你为什么要使用所有的QMAKE_u*前缀。最终用户应用程序通常不应该这样做。没有任何变化。如果我不使用score-P(仅更改QMAKE_CXX和QMAKE_链接),一切都会正常工作。pomp2库位于何处,它的名称是什么?你有没有用
nm-a
objdump
仔细检查过它是否包含必要的符号?我在Cmake上也有类似的问题。你有什么进展吗?
/home/monika/scorep/bin/scorep g++ -c -m64 -pipe -g -fopenmp -O2 -g -pipe -Wall -Wp,-       D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_CORE_LIB -I/usr/lib64/qt4/mkspecs/linux-g++-64 -I../test-scorep -I/usr/include/QtCore -I/usr/include -I../../scorep/include/opari2 -I. -I../test-scorep -I. -o main.o ../test-scorep/main.cpp
/home/monika/scorep/bin/scorep g++ -m64 -Wl,-O1 -o test-scorep main.o     -lgomp -lQtCore -lpthread  
main.o: In function `POMP2_Init_reg_bl9o0ezmjm8_1':
/home/monika/test/build-test-scorep-Desktop-Release/main.prep.cpp.opari.inc:15:     undefined reference to `POMP2_Assign_handle'
main.o: In function `main.omp_fn.0':
/home/monika/test/test-scorep/main.cpp:10: undefined reference to `pomp_tpd_'
/home/monika/test/test-scorep/main.cpp:11: undefined reference to `POMP2_Parallel_begin'
/home/monika/test/test-scorep/main.cpp:12: undefined reference to `POMP2_For_enter'
/home/monika/test/test-scorep/main.cpp:22: undefined reference to `POMP2_Implicit_barrier_enter'
/home/monika/test/test-scorep/main.cpp:24: undefined reference to `POMP2_Implicit_barrier_exit'
/home/monika/test/test-scorep/main.cpp:25: undefined reference to `POMP2_For_exit'
/home/monika/test/test-scorep/main.cpp:27: undefined reference to `POMP2_Parallel_end'
main.o: In function `main':
/home/monika/test/test-scorep/main.cpp:14: undefined reference to `POMP2_Parallel_fork'
/home/monika/test/test-scorep/main.cpp:10: undefined reference to `pomp_tpd_'
/home/monika/test/test-scorep/main.cpp:28: undefined reference to `POMP2_Parallel_join'
/home/monika/scorep/bin/scorep g++ main.cpp