LINUX.ORG.RU

[mingw] ошибки линкера

 


0

1

Собираю программу из qtcreator'а под виндой. gcc 4.7..

Много таких ошибок:

.
propagation.cpp:186: multiple definition of `Propagation::getMethodPtr()'
И что странно не находит openmp:
.
..\determineworkload.cpp:17: error: undefined reference to `_omp_get_num_procs'

флаги в .pro файле:

.
CONFIG   -= console
CONFIG   -= app_bundle

TEMPLATE = lib

QMAKE_CXXFLAGS += -std=c++11
QMAKE_CXXFLAGS += -U__STRICT_ANSI__
QMAKE_CXXFLAGS += -fopenmp
QMAKE_CXXFLAGS_WARN_ON += -Wno-reorder

★★

1. не засунул ли уважаемый propagation.cpp в includes случайно
2. подключены ли библиотеки openmp?

shty ★★★★★
()
Ответ на: комментарий от shty

подключены ли библиотеки openmp?

Спасибо, я правда флаг для линкера не добавил.

не засунул ли уважаемый propagation.cpp в includes случайно

Нет, такого нету.

Make почему-то всегда выдёт два предупреждения:

 Makefile.Debug:976: warning: overriding recipe for target `debug/propagation.o' Makefile.Debug:302: warning: ignoring old recipe for target `debug/propagation.o' 
Leron ★★
() автор топика
Ответ на: комментарий от Leron

Разобрался с файлом propagation..

Ещё такие ошибки есть:

 ..\activationfunction.h:49: error: undefined reference to `vtable for ActivationFunction' 

А в дочерних классах:

 ..\activationlinear.h:37: error: undefined reference to `ActivationFunction::~ActivationFunction()'

Leron ★★
() автор топика
Ответ на: комментарий от trex6

Всё разобрался.. В одном из классов не было виртуалных функций. В других не хватало виртуальных деструкторов(вроде бы).

Leron ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.