在Windows中使用Qt编译OpenNN和Mingw 5.30

时间:2018-02-06 16:36:05

标签: qt mingw openmp qmake opennn

我试图用Qt编译openNN项目。 我使用qt预编译的mingw32 for windows和最后的opennn 3.1 projekt源代码。 Opennn已经提供.pro项目文件,可直接与qt creator / qmake一起使用。

然而,当我尝试编译它时,我得到以下错误:

   D:/Projekte/opennn_build/opennn/release\libopennn.a(testing_analysis.o):testing_analysis.cpp:(.text+0xfc): undefined reference to `omp_get_num_threads'
D:/Projekte/opennn_build/opennn/release\libopennn.a(testing_analysis.o):testing_analysis.cpp:(.text+0x103): undefined reference to `omp_get_thread_num'
D:/Projekte/opennn_build/opennn/release\libopennn.a(testing_analysis.o):testing_analysis.cpp:(.text+0x22f): undefined reference to `GOMP_loop_dynamic_start'
D:/Projekte/opennn_build/opennn/release\libopennn.a(testing_analysis.o):testing_analysis.cpp:(.text+0x3d3): undefined reference to `GOMP_loop_dynamic_next'
D:/Projekte/opennn_build/opennn/release\libopennn.a(testing_analysis.o):testing_analysis.cpp:(.text+0x3e0): undefined reference to `GOMP_loop_end_nowait'
D:/Projekte/opennn_build/opennn/release\libopennn.a(testing_analysis.o):testing_analysis.cpp:(.text+0x64b): undefined reference to `GOMP_loop_dynamic_start'

它似乎连接到openmp,但是opennn的* .pro文件已经包含了总是建议的行:

QMAKE_CXXFLAGS+= -fopenmp
QMAKE_LFLAGS +=  -fopenmp

尝试添加以下内容并没有帮助

LIBS+= -fopenmp

我需要让它与qt一起使用,因为我想稍后将它添加到已经存在的qt项目中。

1 个答案:

答案 0 :(得分:0)

溶液: 在openn / tests / tests.pro中编辑 以及openn / examples /" exampletitle" /

中每个示例的" exampletitle" .pro文件

变化:

win32-g++{
QMAKE_LFLAGS += -static-libgcc
QMAKE_LFLAGS += -static-libstdc++
QMAKE_LFLAGS += -static
}

win32-g++{
QMAKE_LFLAGS += -static-libgcc
QMAKE_LFLAGS += -static-libstdc++
QMAKE_LFLAGS += -static
LIBS += -fopenmp
}