在 Windows 和 Mingw 5.30 中使用 Qt 编译 OpenNN
Compile OpenNN with Qt in Windows and Mingw 5.30
我正在尝试使用 Qt 编译 openNN 项目。
我将 qt 预编译的 mingw32 用于 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 项目中。
解决方法:
在 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
}
我正在尝试使用 Qt 编译 openNN 项目。 我将 qt 预编译的 mingw32 用于 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 项目中。
解决方法: 在 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
}